Merge debian/ directory from Debian's 4.6.0-1+num2
authorIan Jackson <ian.jackson@citrix.com>
Fri, 21 Oct 2016 14:11:19 +0000 (15:11 +0100)
committerIan Jackson <ian.jackson@citrix.com>
Fri, 21 Oct 2016 14:11:19 +0000 (15:11 +0100)
Signed-off-by: Ian Jackson <ian.jackson@citrix.com>
109 files changed:
1  2 
debian/.git-dpm
debian/arch/amd64/defines
debian/arch/arm64/defines
debian/arch/armhf/defines
debian/arch/defines
debian/arch/i386/defines
debian/bin/check-patches.sh
debian/bin/gencontrol.py
debian/bin/genorig.py
debian/changelog
debian/compat
debian/control
debian/control.md5sum
debian/copyright
debian/lib/python/debian_xen/__init__.py
debian/lib/python/debian_xen/debian.py
debian/libxen-dev.install
debian/libxenstore3.0.install
debian/libxenstore3.0.symbols
debian/patches/CVE-2015-7812.diff
debian/patches/CVE-2015-7813.diff
debian/patches/CVE-2015-7814.diff
debian/patches/CVE-2015-7835.diff
debian/patches/CVE-2015-7969.1.diff
debian/patches/CVE-2015-7969.diff
debian/patches/CVE-2015-7970.diff
debian/patches/CVE-2015-7971.diff
debian/patches/CVE-2015-7972.diff
debian/patches/config-prefix.diff
debian/patches/series
debian/patches/tools-allow-configure-time-choice-of-libexec-subdire.patch
debian/patches/tools-blktap2-prefix.diff
debian/patches/tools-console-prefix.diff
debian/patches/tools-include-install.diff
debian/patches/tools-libfsimage-abiname.diff
debian/patches/tools-libfsimage-prefix.diff
debian/patches/tools-libxc-abiname.diff
debian/patches/tools-libxl-abiname.diff
debian/patches/tools-libxl-prefix.diff
debian/patches/tools-misc-prefix.diff
debian/patches/tools-pygrub-prefix.diff
debian/patches/tools-pygrub-remove-static-solaris-support
debian/patches/tools-python-prefix.diff
debian/patches/tools-rpath.diff
debian/patches/tools-xcutils-rpath.diff
debian/patches/tools-xenmon-install.diff
debian/patches/tools-xenmon-prefix.diff
debian/patches/tools-xenpaging-prefix.diff
debian/patches/tools-xenpmd-prefix.diff
debian/patches/tools-xenstat-abiname.diff
debian/patches/tools-xenstat-prefix.diff
debian/patches/tools-xenstore-compatibility.diff
debian/patches/tools-xenstore-prefix.diff
debian/patches/tools-xentrace-prefix.diff
debian/patches/version.diff
debian/pycompat
debian/rules
debian/rules.defs
debian/rules.gen
debian/rules.real
debian/scripts/Makefile
debian/scripts/qemu-ifup
debian/scripts/xen
debian/scripts/xen-dir
debian/scripts/xen-init-list
debian/scripts/xen-init-name
debian/scripts/xen-toolstack
debian/scripts/xen-toolstack-wrapper
debian/scripts/xen-utils-wrapper
debian/scripts/xen-version
debian/source/format
debian/templates/control.hypervisor.in
debian/templates/control.main.in
debian/templates/control.source.in
debian/templates/control.system.latest.in
debian/templates/control.utils.in
debian/templates/xen-hypervisor.postinst.in
debian/templates/xen-hypervisor.postrm.in
debian/templates/xen-utils.lintian-overrides.in
debian/templates/xen-utils.postinst.in
debian/templates/xen-utils.prerm.in
debian/tree/xen-utils-common/etc/xen/xend-config.sxp
debian/tree/xen-utils-common/etc/xen/xend-pci-permissive.sxp
debian/tree/xen-utils-common/etc/xen/xend-pci-quirks.sxp
debian/tree/xen-utils-common/usr/share/xen-utils-common/default.xen
debian/xen-hypervisor-4.6-amd64.postinst
debian/xen-hypervisor-4.6-amd64.postrm
debian/xen-hypervisor-4.6-arm64.postinst
debian/xen-hypervisor-4.6-arm64.postrm
debian/xen-hypervisor-4.6-armhf.postinst
debian/xen-hypervisor-4.6-armhf.postrm
debian/xen-utils-4.6.lintian-overrides
debian/xen-utils-4.6.postinst
debian/xen-utils-4.6.prerm
debian/xen-utils-common.README.Debian
debian/xen-utils-common.dirs
debian/xen-utils-common.examples
debian/xen-utils-common.install
debian/xen-utils-common.postinst
debian/xen-utils-common.postrm
debian/xen-utils-common.preinst
debian/xen-utils-common.ucf
debian/xen-utils-common.xen.init
debian/xen-utils-common.xend.default
debian/xen-utils-common.xendomains.default
debian/xen-utils-common.xendomains.init
debian/xen-utils.NEWS
debian/xen-utils.README.Debian
debian/xenstore-utils.install

diff --cc debian/.git-dpm
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..066490cea4eb5ebdef78bd76b5fb2f96186fe568
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++# see git-dpm(1) from git-dpm package
++bfef8af1dbdd3e12537a7379f057b35d006e0145
++bfef8af1dbdd3e12537a7379f057b35d006e0145
++9fafe903bcadf774d3eb5fbef4666166aa876d2d
++9fafe903bcadf774d3eb5fbef4666166aa876d2d
++xen_4.6.0.orig.tar.xz
++3a298ab580a62dd4ffbe63567d4114f9c36d570c
++3525684
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8585798cda9426025e5622a04372759e5b0bb353
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++[base]
++flavours:
++ amd64
++xen-arch: x86_64
++image-suffix: .gz
++
++[amd64_description]
++hardware: AMD64
++hardware-long: all 64bit single- and multiprocessor AMD and Intel
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b1814446688ee707968bea5c414edcb03a9cd77c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++[base]
++flavours:
++ arm64
++xen-arch: arm64
++image-suffix:
++with-ocaml: no
++
++[arm64_description]
++hardware: ARM64
++hardware-long: all 64bit ARMv8
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ee6918e2ed5593bba09577305c42ae5ee096ead9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++[base]
++flavours:
++ armhf
++xen-arch: arm32
++image-suffix:
++
++[armhf_description]
++hardware: ARMHF
++hardware-long: all 32bit ARMv7 with virtualisation extensions
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..928d4dfb8dfbfb761489a131eb87925beda6bcdf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++[abi]
++
++[base]
++arches:
++ amd64
++ arm64
++ armhf
++ i386
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..40b0588f0c5eff76ec8f1eff34b5e124c6ba9c4b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++[base]
++flavours:
++ amd64
++xen-arch: x86_32
++
++[amd64_base]
++xen-arch: x86_64
++
++[amd64_description]
++hardware: AMD64
++hardware-long: all 64bit single- and multiprocessor AMD and Intel
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8de7c5e7eb74bfaec451deddf2a962b2f529894c
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++#!/bin/sh -e
++
++TMPDIR=$(mktemp -d)
++trap "rm -rf $TMPDIR" EXIT
++grep -v "^#"  debian/patches/series | awk '{if (NF == 1) print "debian/patches/" $1}' | sort -u > $TMPDIR/used
++find debian/patches -type f -name "*.diff" -printf "%p\n" | sort > $TMPDIR/avail
++echo "Used patches"
++echo "=============="
++cat $TMPDIR/used
++echo
++echo "Unused patches"
++echo "=============="
++fgrep -v -f $TMPDIR/used $TMPDIR/avail
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2a801c0da2e5c2461b242e634b7b51728f8f1e82
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,125 @@@
++#!/usr/bin/env python3
++
++import os, sys
++sys.path.append(os.path.join(sys.path[0], "../lib/python"))
++
++from debian_xen.debian import VersionXen
++from debian_linux.config import ConfigCoreHierarchy
++from debian_linux.debian import Changelog, PackageArchitecture
++from debian_linux.gencontrol import Gencontrol as Base
++from debian_linux.utils import Templates
++
++class Gencontrol(Base):
++    config_schema = {
++        'description': {
++        }
++    }
++
++    def __init__(self):
++        super(Gencontrol, self).__init__(ConfigCoreHierarchy(self.config_schema, ["debian/arch"]), Templates(["debian/templates"]))
++        self.process_changelog()
++
++    def do_main_setup(self, vars, makeflags, extra):
++        makeflags.update({
++            'VERSION': self.version.xen_version,
++        })
++
++    def do_arch_setup(self, vars, makeflags, arch, extra):
++        config_entry = self.config.merge('base', arch)
++        config_entry_description = self.config.merge('description', arch)
++
++        for i in (
++            ('xen-arch', 'XEN_ARCH'),
++        ):
++            makeflags[i[1]] = config_entry[i[0]]
++
++    def do_arch_packages(self, packages, makefile, arch, vars, makeflags, extra):
++        packages_main = self.process_packages(self.templates["control.main"], vars)
++        packages_utils = self.process_packages(self.templates["control.utils"], vars)
++
++        for package in packages_main + packages_utils:
++            name = package['Package']
++            if name in packages:
++                package = packages.get(name)
++            else:
++                packages.append(package)
++
++            arches = package.setdefault('Architecture', PackageArchitecture())
++            if 'all' not in arches:
++                arches.add(arch)
++
++        package_utils_name = packages_utils[0]['Package']
++
++        for i in ('postinst', 'prerm', 'lintian-overrides'):
++            j = self.substitute(self.templates["xen-utils.%s" % i], vars)
++            open("debian/%s.%s" % (package_utils_name, i), 'w').write(j)
++
++        cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-arch %s" % makeflags]
++        cmds_build = ["$(MAKE) -f debian/rules.real build-arch-arch %s" % makeflags]
++        cmds_setup = ["$(MAKE) -f debian/rules.real setup-arch %s" % makeflags]
++        makefile.add('binary-arch_%s_real' % arch, cmds = cmds_binary_arch)
++        makefile.add('build-arch_%s_real' % arch, cmds = cmds_build)
++        makefile.add('setup_%s_real' % arch, cmds = cmds_setup)
++
++    def do_flavour_setup(self, vars, makeflags, arch, featureset, flavour, extra):
++        config_entry = self.config.merge('base', arch, featureset, flavour)
++        config_description = self.config.merge('description', arch, featureset, flavour)
++
++        vars['class'] = config_description['hardware']
++        vars['longclass'] = config_description.get('hardware-long') or vars['class']
++
++        for i in (
++            ('xen-arch', 'XEN_ARCH'),
++            ('image-suffix', 'IMAGE_SUFFIX'),
++        ):
++            if i[0] in config_entry:
++                makeflags[i[1]] = config_entry[i[0]]
++
++    def do_flavour_packages(self, packages, makefile, arch, featureset, flavour, vars, makeflags, extra):
++        hypervisor = self.templates["control.hypervisor"]
++        system_latest = self.templates["control.system.latest"]
++
++        if not 'desc' in vars:
++            vars['desc'] = ''
++
++        packages_own = []
++        packages_own.extend(self.process_packages(hypervisor, vars))
++        packages_dummy = self.process_packages(system_latest, vars)
++
++        for package in packages_own + packages_dummy:
++            name = package['Package']
++            package.setdefault('Architecture', PackageArchitecture()).add(arch)
++            if name in packages:
++                package = packages.get(name)
++            else:
++                packages.append(package)
++
++            arches = package.setdefault('Architecture', PackageArchitecture())
++            if 'all' not in arches:
++                arches.add(arch)
++
++        package_name = packages_own[0]['Package']
++
++        for i in ('postinst', 'postrm'):
++            j = self.substitute(self.templates["xen-hypervisor.%s" % i], vars)
++            open("debian/%s.%s" % (package_name, i), 'w').write(j)
++
++        cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-flavour %s" % makeflags]
++        cmds_build = ["$(MAKE) -f debian/rules.real build-arch-flavour %s" % makeflags]
++        cmds_setup = ["$(MAKE) -f debian/rules.real setup-flavour %s" % makeflags]
++
++        cmds_binary_arch += ["$(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='%s' %s" % (u' '.join([u"-p%s" % i['Package'] for i in packages_dummy]), makeflags)]
++
++        makefile.add("binary-arch_%s_%s_%s" % (arch, featureset, flavour), cmds = cmds_binary_arch)
++        makefile.add("build-arch_%s_%s_%s" % (arch, featureset, flavour), cmds = cmds_build)
++        makefile.add("setup_%s_%s_%s" % (arch, featureset, flavour), cmds = cmds_setup)
++
++    def process_changelog(self):
++        changelog = Changelog(version = VersionXen)
++        self.version = changelog[0].version
++        self.vars = {
++            'version': self.version.xen_version,
++        }
++
++if __name__ == '__main__':
++    Gencontrol()()
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e9fcd194c8d7dff1939f22c180e134554304b57d
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,72 @@@
++#!/usr/bin/env python3
++
++import sys
++sys.path.append(sys.path[0] + '/../lib/python')
++
++import itertools
++import os, os.path
++import shutil
++import subprocess
++
++from debian_xen.debian import VersionXen
++from debian_linux.debian import Changelog
++
++
++class Main(object):
++    log = sys.stdout.write
++
++    def __init__(self, options, repo):
++        self.options = options
++
++        self.changelog_entry = Changelog(version=VersionXen)[0]
++        self.source = self.changelog_entry.source
++        self.version = self.changelog_entry.version
++
++        if options.override_version:
++            self.version = VersionXen('%s-0' % options.override_version)
++
++        if options.component:
++            self.orig_dir = options.component
++            self.orig_tar = '%s_%s.orig-%s.tar.xz' % (self.source, self.version.upstream, options.component)
++        else:
++            self.orig_dir = '%s-%s' % (self.source, self.version.upstream)
++            self.orig_tar = '%s_%s.orig.tar.xz' % (self.source, self.version.upstream)
++            if options.tag is None:
++                options.tag = 'RELEASE-' + self.version.upstream
++
++    def __call__(self):
++        out = "../orig/%s" % self.orig_tar
++        self.log("Generate tarball %s\n" % out)
++
++        try:
++            os.stat(out)
++            raise RuntimeError("Destination already exists")
++        except OSError: pass
++
++        try:
++            with open(out, 'wb') as f:
++                tag = self.options.tag or 'HEAD'
++                p1 = subprocess.Popen(('git', 'archive', '--prefix', '%s/' % self.orig_dir, tag), stdout=subprocess.PIPE)
++                subprocess.check_call(('xz', ), stdin=p1.stdout, stdout=f)
++                if p1.wait():
++                    raise RuntimeError
++        except:
++            os.unlink(out)
++            raise
++
++        try:
++            os.symlink(os.path.join('orig', self.orig_tar), os.path.join('..', self.orig_tar))
++        except OSError:
++            pass
++
++
++if __name__ == '__main__':
++    from optparse import OptionParser
++    p = OptionParser(prog=sys.argv[0], usage='%prog [OPTION]... DIR')
++    p.add_option('-c', '--component', dest='component')
++    p.add_option('-t', '--tag', dest='tag')
++    p.add_option('-V', '--override-version', dest='override_version')
++    options, args = p.parse_args()
++    if len(args) != 1:
++        raise RuntimeError
++    Main(options, *args)()
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a2330706be2d4d7ca52502dbe5bf9c5b368d6b4c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1245 @@@
++xen (4.6.0-1+nmu2) unstable; urgency=medium
++
++  * Ensure debian/control.md5sum is correctly updated. Fixes FTBFS of
++    4.6.0-1+nmu1 on buildds where linux-support-4.2.0-1 is not expected to be
++    installed.
++
++ -- Ian Campbell <ijc@debian.org>  Tue, 09 Feb 2016 16:41:16 +0000
++
++xen (4.6.0-1+nmu1) unstable; urgency=medium
++
++  * Non-maintainer upload.
++  * Drop unused patching in of $(PREFIX), $(SBINDIR) and $(BINDIR)
++    which are no longer used by the upstream build system.
++  * Use correct/consistent LIBEXEC dirs throughout build
++    (Closes: #805508).
++
++ -- Ian Campbell <ijc@debian.org>  Tue, 19 Jan 2016 14:43:54 +0000
++
++xen (4.6.0-1) unstable; urgency=medium
++
++  * New upstream release.
++  * CVE-2015-7812
++  * CVE-2015-7813
++  * CVE-2015-7814
++  * CVE-2015-7835
++  * CVE-2015-7969
++  * CVE-2015-7970
++  * CVE-2015-7971
++  * CVE-2015-7972
++
++ -- Bastian Blank <waldi@debian.org>  Sun, 01 Nov 2015 21:49:07 +0100
++
++xen (4.5.1~rc1-1) experimental; urgency=medium
++
++  [ Ian Campbell ]
++  * Use xen-init-dom0 from initscript when it is available.
++  * Install some user facing docs in xen-utils-common. (Closes: #688308)
++
++  [ Bastian Blank ]
++  * New upstream release candidate.
++
++ -- Bastian Blank <waldi@debian.org>  Sun, 31 May 2015 21:59:56 +0200
++
++xen (4.5.0-1) experimental; urgency=medium
++
++  [ Ian Campbell ]
++  * New upstream release
++
++ -- Bastian Blank <waldi@debian.org>  Wed, 21 Jan 2015 20:21:45 +0100
++
++xen (4.5.0~rc3-1) experimental; urgency=medium
++
++  * New upstream release candidate.
++  * Re-add xend config.
++
++ -- Bastian Blank <waldi@debian.org>  Wed, 17 Dec 2014 22:37:23 +0100
++
++xen (4.4.1-6) unstable; urgency=medium
++
++  * Fix starvation of writers in locks.
++    CVE-2014-9065
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 11 Dec 2014 15:56:08 +0100
++
++xen (4.4.1-5) unstable; urgency=medium
++
++  * Fix excessive checks of hypercall arguments.
++    CVE-2014-8866
++  * Fix boundary checks of emulated MMIO access.
++    CVE-2014-8867
++  * Fix additional memory leaks in xl. (closes: #767295)
++
++ -- Bastian Blank <waldi@debian.org>  Sun, 30 Nov 2014 20:13:32 +0100
++
++xen (4.4.1-4) unstable; urgency=medium
++
++  [ Bastian Blank ]
++  * Make operations pre-emptible.
++    CVE-2014-5146, CVE-2014-5149
++  * Don't allow page table updates from non-PV page tables.
++    CVE-2014-8594
++  * Enforce privilege level while loading code segment.
++    CVE-2014-8595
++  * Fix reference counter leak.
++    CVE-2014-9030
++  * Use linux 3.16.0-4 stuff.
++  * Fix memory leak in xl. (closes: #767295)
++
++  [ Ian Campbell ]
++  * Add licensing for tools/python/logging to debian/copyright.
++    (Closes: #759384)
++  * Correctly include xen-init-name in xen-utils-common. (Closes: #769543)
++  * xen-utils recommends grub-xen-host package (Closes: #770460)
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 27 Nov 2014 20:17:36 +0100
++
++xen (4.4.1-3) unstable; urgency=medium
++
++  [ Bastian Blank ]
++  * Remove unused build-depencencies.
++  * Extend list affected systems for broken interrupt assignment.
++    CVE-2013-3495
++  * Fix race in hvm memory management.
++    CVE-2014-7154
++  * Fix missing privilege checks on instruction emulation.
++    CVE-2014-7155, CVE-2014-7156
++  * Fix uninitialized control structures in FIFO handling.
++    CVE-2014-6268
++  * Fix MSR range check in emulation.
++    CVE-2014-7188
++
++  [ Ian Campbell ]
++  * Install xen.efi into /boot for amd64 builds.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 17 Oct 2014 16:27:46 +0200
++
++xen (4.4.1-2) unstable; urgency=medium
++
++  * Re-build with correct content.
++  * Use dh_lintian.
++
++ -- Bastian Blank <waldi@debian.org>  Wed, 24 Sep 2014 20:23:14 +0200
++
++xen (4.4.1-1) unstable; urgency=medium
++
++  * New upstream release.
++    - Fix several vulnerabilities. (closes: #757724)
++      CVE-2014-2599, CVE-2014-3124,
++      CVE-2014-3967, CVE-2014-3968,
++      CVE-2014-4021
++
++ -- Bastian Blank <waldi@debian.org>  Sun, 21 Sep 2014 10:45:47 +0200
++
++xen (4.4.0-5) unstable; urgency=medium
++
++  [ Ian Campbell ]
++  * Expand on the descriptions of some packages. (Closes: #466683)
++  * Clarify where xen-utils-common is required. (Closes: #612403)
++  * No longer depend on gawk. Xen can now use any awk one of which is always
++    present. (Closes: #589176)
++  * Put core dumps in /var/lib/xen/dump and ensure it exists.
++    (Closes: #444000)
++
++  [ Bastian Blank ]
++  * Handle JSON output from xl in xendomains init script.
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 06 Sep 2014 22:11:20 +0200
++
++xen (4.4.0-4) unstable; urgency=medium
++
++  [ Bastian Blank ]
++  * Also remove unused OCaml packages from control file.
++  * Make library packages multi-arch: same. (closes: #730417)
++  * Use debhelper compat level 9. (closes: #692352)
++
++  [ Ian Campbell ]
++  * Correct contents of /etc/xen/scripts/hotplugpath.sh (Closes: #706283)
++  * Drop references cpuperf-xen and cpuperf-perfcntr. (Closes: #733847)
++  * Install xentrace_format(1), xentrace(8) and xentop(1). (Closes: #407143)
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 30 Aug 2014 13:34:04 +0200
++
++xen (4.4.0-3) unstable; urgency=medium
++
++  [ Ian Campbell ]
++  * Use correct SeaBIOS binary which supports Xen (Closes: #737905).
++
++  [ Bastian Blank ]
++  * Really update config.{sub,guess}.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 29 Aug 2014 16:33:19 +0200
++
++xen (4.4.0-2) unstable; urgency=medium
++
++  * Remove broken and unused OCaml-support.
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 18 Aug 2014 15:18:42 +0200
++
++xen (4.4.0-1) unstable; urgency=medium
++
++  [ Bastian Blank ]
++  * New upstream release.
++    - Update scripts for compatiblity with latest coreutils.
++      (closes: #718898)
++    - Fix guest reboot with xl toolstack. (closes: #727100)
++    - CVE-2013-6375: Insufficient TLB flushing in VT-d (iommu) code.
++      (closes: #730254)
++    - xl support for global VNC options. (closes: #744157)
++    - vif scripts can now be named relative to /etc/xen/scripts.
++      (closes: #744160)
++    - Support for arbitrary sized SeaBIOS binaries. (closes: #737905)
++    - pygrub searches for extlinux.conf in the expected places.
++      (closes: #697407)
++    - Update scripts to use correct syntax for ip command.
++      (closes: #705659)
++  * Fix install of xend configs to not break compatibility.
++
++  [ Ian Campbell ]
++  * Disable blktap1 support using new configure option instead of by patching.
++  * Disable qemu-traditional and rombios support using new configure option
++    instead of by patching. No need to build-depend on ipxe any more.
++  * Use system qemu-xen via new configure option instead of patching.
++  * Use system seabios via new configure option instead of patching.
++  * Use EXTRA_CFLAGS_XEN_TOOLS and APPEND_{CPPFLAGS,LDFLAGS} during build.
++  * Add support for armhf and arm64.
++  * Update config.{sub,guess}.
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 09 Aug 2014 13:09:00 +0200
++
++xen (4.3.0-3) unstable; urgency=low
++
++  * Revive hypervisor on i386.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 18 Oct 2013 00:15:16 +0200
++
++xen (4.3.0-2) unstable; urgency=low
++
++  * Force proper install order. (closes: #721999)
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 05 Oct 2013 15:03:36 +0000
++
++xen (4.3.0-1) unstable; urgency=low
++
++  * New upstream release.
++    - Fix HVM PCI passthrough. (closes: #706543)
++  * Call configure with proper arguments.
++  * Remove now empty xen-docs package.
++  * Disable external code retrieval.
++  * Drop all i386 hypervisor packages.
++  * Drop complete blktap support.
++  * Create /run/xen.
++  * Make xen-utils recommend qemu-system-x86. (closes: #688311)
++    - This version comes with audio support. (closes: #635166)
++  * Make libxenlight and libxlutil public. (closes: #644390)
++    - Set versioned ABI name.
++    - Install headers.
++    - Move libs into normal library path.
++  * Use build flags in the tools build.
++    - Fix fallout from harderning flags.
++  * Update Standards-Version to 3.9.4. No changes.
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 05 Sep 2013 13:54:03 +0200
++
++xen (4.2.2-1) unstable; urgency=low
++
++  * New upstream release.
++    - Fix build with gcc 4.8. (closes: #712376)
++  * Build-depend on libssl-dev. (closes: #712366)
++  * Enable hardening as much as possible.
++  * Re-enable ocaml build fixes. (closes: #695176)
++  * Check for out-of-bound values in CPU affinity setup.
++    CVE-2013-2072
++  * Fix information leak on AMD CPUs.
++    CVE-2013-2076
++  * Recover from faults on XRSTOR.
++    CVE-2013-2077
++  * Properly check guest input to XSETBV.
++    CVE-2013-2078
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 11 Jul 2013 00:28:24 +0200
++
++xen (4.2.1-2) unstable; urgency=low
++
++  * Actually upload to unstable.
++
++ -- Bastian Blank <waldi@debian.org>  Sun, 12 May 2013 00:20:58 +0200
++
++xen (4.2.1-1) experimental; urgency=low
++
++  * New upstream release.
++  * Enable usage of seabios.
++  * Fix some toolchain issues.
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 11 May 2013 23:55:46 +0200
++
++xen (4.2.0-2) experimental; urgency=low
++
++  * Support JSON output in domain init script helper.
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 01 Oct 2012 15:11:30 +0200
++
++xen (4.2.0-1) experimental; urgency=low
++
++  * New upstream release.
++
++ -- Bastian Blank <waldi@debian.org>  Tue, 18 Sep 2012 13:54:30 +0200
++
++xen (4.2.0~rc3-1) experimental; urgency=low
++
++  * New upstream snapshot.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 07 Sep 2012 20:28:46 +0200
++
++xen (4.2.0~rc2-1) experimental; urgency=low
++
++  * New upstream snapshot.
++  * Build-depend against libglib2.0-dev and libyajl-dev.
++  * Disable seabios build for now.
++  * Remove support for Lenny and earlier.
++  * Support build-arch and build-indep make targets.
++
++ -- Bastian Blank <waldi@debian.org>  Sun, 13 May 2012 12:21:10 +0000
++
++xen (4.1.4-4) unstable; urgency=high
++
++  * Make several long runing operations preemptible.
++    CVE-2013-1918
++  * Fix source validation for VT-d interrupt remapping.
++    CVE-2013-1952
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 02 May 2013 14:30:29 +0200
++
++xen (4.1.4-3) unstable; urgency=high
++
++  * Fix return from SYSENTER.
++    CVE-2013-1917
++  * Fix various problems with guest interrupt handling.
++    CVE-2013-1919
++  * Only save pointer after access checks.
++    CVE-2013-1920
++  * Fix domain locking for transitive grants.
++    CVE-2013-1964
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 19 Apr 2013 13:01:57 +0200
++
++xen (4.1.4-2) unstable; urgency=low
++
++  * Use pre-device interrupt remapping mode per default. Fix removing old
++    remappings.
++    CVE-2013-0153
++
++ -- Bastian Blank <waldi@debian.org>  Wed, 06 Feb 2013 13:04:52 +0100
++
++xen (4.1.4-1) unstable; urgency=low
++
++  * New upstream release.
++    - Disable process-context identifier support in newer CPUs for all
++      domains.
++    - Add workarounds for AMD errata.
++    - Don't allow any non-canonical addresses.
++    - Use Multiboot memory map if BIOS emulation does not provide one.
++    - Fix several problems in tmem.
++      CVE-2012-3497
++    - Fix error handling in domain creation.
++    - Adjust locking and interrupt handling during S3 resume.
++    - Tighten more resource and memory range checks.
++    - Reset performance counters. (closes: #698651)
++    - Remove special-case for first IO-APIC.
++    - Fix MSI handling for HVM domains. (closes: #695123)
++    - Revert cache value of disks in HVM domains.
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 31 Jan 2013 15:44:50 +0100
++
++xen (4.1.3-8) unstable; urgency=high
++
++  * Fix error in VT-d interrupt remapping source validation.
++    CVE-2012-5634
++  * Fix buffer overflow in qemu e1000 emulation.
++    CVE-2012-6075
++  * Update patch, mention second CVE.
++    CVE-2012-5511, CVE-2012-6333
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 19 Jan 2013 13:55:07 +0100
++
++xen (4.1.3-7) unstable; urgency=low
++
++  * Fix clock jump due to incorrect annotated inline assembler.
++    (closes: #599161)
++  * Add support for XZ compressed Linux kernels to hypervisor and userspace
++    based loaders, it is needed for any Linux kernels newer then Wheezy.
++    (closes: #695056)
++
++ -- Bastian Blank <waldi@debian.org>  Tue, 11 Dec 2012 18:54:59 +0100
++
++xen (4.1.3-6) unstable; urgency=high
++
++  * Fix error handling in physical to machine memory mapping.
++    CVE-2012-5514
++
++ -- Bastian Blank <waldi@debian.org>  Tue, 04 Dec 2012 10:51:43 +0100
++
++xen (4.1.3-5) unstable; urgency=high
++
++  * Fix state corruption due to incomplete grant table switch.
++    CVE-2012-5510
++  * Check range of arguments to several HVM operations.
++    CVE-2012-5511, CVE-2012-6333
++  * Check array index before using it in HVM memory operation.
++    CVE-2012-5512
++  * Check memory range in memory exchange operation.
++    CVE-2012-5513
++  * Don't allow too large memory size and avoid busy looping.
++    CVE-2012-5515
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 03 Dec 2012 19:37:38 +0100
++
++xen (4.1.3-4) unstable; urgency=high
++
++  * Use linux 3.2.0-4 stuff.
++  * Fix overflow in timer calculations.
++    CVE-2012-4535
++  * Check value of physical interrupts parameter before using it.
++    CVE-2012-4536
++  * Error out on incorrect memory mapping updates.
++    CVE-2012-4537
++  * Check if toplevel page tables are present.
++    CVE-2012-4538
++  * Fix infinite loop in compatibility code.
++    CVE-2012-4539
++  * Limit maximum kernel and ramdisk size.
++    CVE-2012-2625, CVE-2012-4544
++
++ -- Bastian Blank <waldi@debian.org>  Tue, 20 Nov 2012 15:51:01 +0100
++
++xen (4.1.3-3) unstable; urgency=low
++
++  * Xen domain init script:
++    - Make sure Open vSwitch is started before any domain.
++    - Properly handle and show output of failed migration and save.
++    - Ask all domains to shut down before checking them.
++
++ -- Bastian Blank <waldi@debian.org>  Tue, 18 Sep 2012 13:26:32 +0200
++
++xen (4.1.3-2) unstable; urgency=medium
++
++  * Don't allow writing reserved bits in debug register.
++    CVE-2012-3494
++  * Fix error handling in interrupt assignment.
++    CVE-2012-3495
++  * Don't trigger bug messages on invalid flags.
++    CVE-2012-3496
++  * Check array bounds in interrupt assignment.
++    CVE-2012-3498
++  * Properly check bounds while setting the cursor in qemu.
++    CVE-2012-3515
++  * Disable monitor in qemu by default.
++    CVE-2012-4411
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 07 Sep 2012 19:41:46 +0200
++
++xen (4.1.3-1) unstable; urgency=medium
++
++  * New upstream release: (closes: #683286)
++    - Don't leave the x86 emulation in a bad state. (closes: #683279)
++      CVE-2012-3432
++    - Only check for shared pages while any exist on teardown.
++      CVE-2012-3433
++    - Fix error handling for unexpected conditions.
++    - Update CPUID masking to latest Intel spec.
++    - Allow large ACPI ids.
++    - Fix IOMMU support for PCI-to-PCIe bridges.
++    - Disallow access to some sensitive IO-ports.
++    - Fix wrong address in IOTLB.
++    - Fix deadlock on CPUs without working cpufreq driver.
++    - Use uncached disk access in qemu.
++    - Fix buffer size on emulated e1000 device in qemu.
++  * Fixup broken and remove applied patches.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 17 Aug 2012 11:25:02 +0200
++
++xen (4.1.3~rc1+hg-20120614.a9c0a89c08f2-5) unstable; urgency=low
++
++  [ Ian Campbell ]
++  * Set tap device MAC addresses to fe:ff:ff:ff:ff:ff (Closes: #671018)
++  * Only run xendomains initscript if toolstack is xl or xm (Closes: #680528)
++
++  [ Bastian Blank ]
++  * Actually build-depend on new enough version of dpkg-dev.
++  * Add xen-sytem-* meta-packages. We are finally in a position to do
++    automatic upgrades and this package is missing. (closes: #681376)
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 28 Jul 2012 10:23:26 +0200
++
++xen (4.1.3~rc1+hg-20120614.a9c0a89c08f2-4) unstable; urgency=low
++
++  * Add Build-Using info to xen-utils package.
++  * Fix build-arch target.
++
++ -- Bastian Blank <waldi@debian.org>  Sun, 01 Jul 2012 19:52:30 +0200
++
++xen (4.1.3~rc1+hg-20120614.a9c0a89c08f2-3) unstable; urgency=low
++
++  * Remove /usr/lib/xen-default. It breaks systems if xenstored is not
++    compatible.
++  * Fix init script usage.
++  * Fix udev rules for emulated network devices:
++    - Force names of emulated network devices to a predictable name.
++
++ -- Bastian Blank <waldi@debian.org>  Sun, 01 Jul 2012 16:59:04 +0200
++
++xen (4.1.3~rc1+hg-20120614.a9c0a89c08f2-2) unstable; urgency=low
++
++  * Fix pointer missmatch in interrupt functions. Fixes build on i386.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 15 Jun 2012 18:00:51 +0200
++
++xen (4.1.3~rc1+hg-20120614.a9c0a89c08f2-1) unstable; urgency=low
++
++  * New upstream snapshot.
++    - Fix privilege escalation and syscall/sysenter DoS while using
++      non-canonical addresses by untrusted PV guests. (closes: #677221)
++      CVE-2012-0217
++      CVE-2012-0218
++    - Disable Xen on CPUs affected by AMD Erratum #121. PV guests can
++      cause a DoS of the host.
++      CVE-2012-2934
++  * Don't fail if standard toolstacks are not available. (closes: #677244)
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 14 Jun 2012 17:06:25 +0200
++
++xen (4.1.2-7) unstable; urgency=low
++
++  * Really use ucf.
++  * Update init script dependencies:
++    - Start $syslog before xen.
++    - Start drbd and iscsi before xendomains. (closes: #626356)
++    - Start corosync and heartbeat after xendomains.
++  * Remove /var/log/xen on purge. (closes: #656216)
++
++ -- Bastian Blank <waldi@debian.org>  Tue, 22 May 2012 10:44:41 +0200
++
++xen (4.1.2-6) unstable; urgency=low
++
++  * Fix generation of architectures for hypervisor packages.
++  * Remove information about loop devices, it is incorrect. (closes: #503044)
++  * Update xendomains init script:
++    - Create directory for domain images only root readable. (closes: #596048)
++    - Add missing sanity checks for variables. (closes: #671750)
++    - Remove not longer supported config options.
++    - Don't fail if no config is available.
++    - Remove extra output if domain was restored.
++
++ -- Bastian Blank <waldi@debian.org>  Sun, 06 May 2012 20:07:41 +0200
++
++xen (4.1.2-5) unstable; urgency=low
++
++  * Actually force init script rename. (closes: #669341)
++  * Fix long output from xl.
++  * Move complete init script setup.
++  * Rewrite xendomains init script:
++    - Use LSB output functions.
++    - Make output more clear.
++    - Use xen toolstack wrapper.
++    - Use a python script to properly read domain details.
++  * Set name for Domain-0.
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 23 Apr 2012 11:56:45 +0200
++
++xen (4.1.2-4) unstable; urgency=low
++
++  [ Bastian Blank ]
++  * Build-depend on ipxe-qemu instead of ipxe. (closes: #665070)
++  * Don't longer use a4wide latex package.
++  * Use ucf for /etc/default/xen.
++  * Remove handling for old udev rules link and xenstored directory.
++  * Rename xend init script to xen.
++
++  [ Lionel Elie Mamane ]
++  * Fix toolstack script to work with old dash. (closes: #648029)
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 16 Apr 2012 08:47:29 +0000
++
++xen (4.1.2-3) unstable; urgency=low
++
++  * Merge xen-common source package.
++  * Remove xend wrapper, it should not be called by users.
++  * Support xl in init script.
++  * Restart xen daemons on upgrade.
++  * Restart and stop xenconsoled in init script.
++  * Load xen-gntdev module.
++  * Create /var/lib/xen. (closes: #658101)
++  * Cleanup udev rules. (closes: #657745)
++
++ -- Bastian Blank <waldi@debian.org>  Wed, 01 Feb 2012 19:28:28 +0100
++
++xen (4.1.2-2) unstable; urgency=low
++
++  [ Jon Ludlam ]
++  * Import (partially reworked) upstream changes for OCaml support.
++    - Rename the ocamlfind packages.
++    - Remove uuid and log libraries.
++    - Fix 2 bit-twiddling bugs and an off-by-one
++  * Fix build of OCaml libraries.
++  * Add OCaml library and development package.
++  * Include some missing headers.
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 10 Dec 2011 19:13:25 +0000
++
++xen (4.1.2-1) unstable; urgency=low
++
++  * New upstream release.
++  * Build-depend on pkg-config.
++  * Add package libxen-4.1. Includes some shared libs.
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 26 Nov 2011 18:28:06 +0100
++
++xen (4.1.1-3) unstable; urgency=low
++
++  [ Julien Danjou ]
++  * Remove Julien Danjou from the Uploaders field. (closes: #590439)
++
++  [ Bastian Blank ]
++  * Use current version of python. (closes: #646660)
++  * Build-depend against liblzma-dev, it is used if available.
++    (closes: #646694)
++  * Update Standards-Version to 3.9.2. No changes.
++  * Don't use brace-expansion in debhelper install files.
++
++ -- Bastian Blank <waldi@debian.org>  Wed, 26 Oct 2011 14:42:33 +0200
++
++xen (4.1.1-2) unstable; urgency=low
++
++  * Fix hvmloader with gcc 4.6.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 05 Aug 2011 23:58:36 +0200
++
++xen (4.1.1-1) unstable; urgency=low
++
++  * New upstream release.
++  * Don't use qemu-dm if it is not needed. (Backport from xen-unstable.)
++  * Use dh_python2.
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 18 Jul 2011 19:38:38 +0200
++
++xen (4.1.0-3) unstable; urgency=low
++
++  * Add ghostscript to build-deps.
++  * Enable qemu-dm build.
++    - Add qemu as another orig tar.
++    - Remove blktap1, bluetooth and sdl support from qemu.
++    - Recommend qemu-keymaps and qemu-utils.
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 28 Apr 2011 15:20:45 +0200
++
++xen (4.1.0-2) unstable; urgency=low
++
++  * Re-enable hvmloader:
++    - Use packaged ipxe.
++  * Workaround incompatibility with xenstored of Xen 4.0.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 15 Apr 2011 11:38:25 +0200
++
++xen (4.1.0-1) unstable; urgency=low
++
++  * New upstream release.
++
++ -- Bastian Blank <waldi@debian.org>  Sun, 27 Mar 2011 18:09:28 +0000
++
++xen (4.1.0~rc6-1) unstable; urgency=low
++
++  * New upstream release candidate.
++  * Build documentation using pdflatex.
++  * Use python 2.6. (closes: #596545)
++  * Fix lintian override.
++  * Install new tools: xl, xenpaging.
++  * Enable blktap2.
++    - Use own md5 implementation.
++    - Fix includes.
++    - Fix linking of blktap2 binaries.
++    - Remove optimization setting.
++  * Temporarily disable hvmloader, wants to download ipxe.
++  * Remove xenstored pid check from xl.
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 17 Mar 2011 16:12:45 +0100
++
++xen (4.0.1-2) unstable; urgency=low
++
++  * Fix races in memory management.
++  * Make sure that frame-table compression leaves enough alligned.
++  * Disable XSAVE support. (closes: #595490)
++  * Check for dying domain instead of raising an assertion.
++  * Add C6 state with EOI errata for Intel.
++  * Make some memory management interrupt safe. Unsure if really needed.
++  * Raise bar for inter-socket migrations on mostly-idle systems.
++  * Fix interrupt handling for legacy routed interrupts.
++  * Allow to set maximal domain memory even during a running change.
++  * Support new partition name in pygrub. (closes: #599243)
++  * Fix some comparisions "< 0" that may be optimized away.
++  * Check for MWAIT support before using it.
++  * Fix endless loop on interrupts on Nehalem cpus.
++  * Don't crash upon direct GDT/LDT access. (closes: #609531)
++    CVE-2010-4255  
++  * Don't loose timer ticks after domain restore.
++  * Reserve some space for IOMMU area in dom0. (closes: #608715)
++  * Fix hypercall arguments after trace callout.
++  * Fix some error paths in vtd support. Memory leak.
++  * Reinstate ACPI DMAR table.
++
++ -- Bastian Blank <waldi@debian.org>  Wed, 12 Jan 2011 15:01:40 +0100
++
++xen (4.0.1-1) unstable; urgency=low
++
++  * New upstream release.
++    - Fix IOAPIC S3 with interrupt remapping enabled.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 03 Sep 2010 17:14:28 +0200
++
++xen (4.0.1~rc6-1) unstable; urgency=low
++
++  * New upstream release candidate.
++    - Add some missing locks for page table walk.
++    - Fix NMU injection into guest.
++    - Fix ioapic updates for vt-d.
++    - Add check for GRUB2 commandline behaviour.
++    - Fix handling of invalid kernel images.
++    - Allow usage of powernow.
++  * Remove lowlevel python modules usage from pygrub. (closes: #588811)
++
++ -- Bastian Blank <waldi@debian.org>  Tue, 17 Aug 2010 23:15:34 +0200
++
++xen (4.0.1~rc5-1) unstable; urgency=low
++
++  * New upstream release candidate.
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 02 Aug 2010 17:06:27 +0200
++
++xen (4.0.1~rc3-1) unstable; urgency=low
++
++  * New upstream release candidate.
++  * Call dh_pyversion with the correct version.
++  * Restart xen daemon on upgrade.
++
++ -- Bastian Blank <waldi@debian.org>  Wed, 30 Jun 2010 16:30:47 +0200
++
++xen (4.0.0-2) unstable; urgency=low
++
++  * Fix python dependency. (closes: #586666)
++    - Use python-support.
++    - Hardcode to use python 2.5 for now.
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 21 Jun 2010 17:23:16 +0200
++
++xen (4.0.0-1) unstable; urgency=low
++
++  * Update to unstable.
++  * Fix spelling in README.
++  * Remove unnecessary build-depends.
++  * Fixup xend to use different filename lookup.
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 17 Jun 2010 11:16:55 +0200
++
++xen (4.0.0-1~experimental.2) experimental; urgency=low
++
++  * Merge changes from 3.4.3-1.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 28 May 2010 12:58:12 +0200
++
++xen (4.0.0-1~experimental.1) experimental; urgency=low
++
++  * New upstream version.
++  * Rename source package to xen.
++  * Build depend against iasl and uuid-dev.
++  * Disable blktap2 support, it links against OpenSSL.
++  * Update copyright file.
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 06 May 2010 15:47:38 +0200
++
++xen-3 (3.4.3-1) unstable; urgency=low
++
++  * New upstream version.
++  * Disable blktap support, it is unusable with current kernels.
++  * Disable libaio, was only used by blktap.
++  * Drop device creation support. (closes: #583283)
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 28 May 2010 11:43:18 +0200
++
++xen-3 (3.4.3~rc6-1) unstable; urgency=low
++
++  * New upstream release candidate.
++    - Relocate multiboot modules. (closes: #580045)
++    - Support grub2 in pygrub. (closes: #573311)
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 08 May 2010 11:32:29 +0200
++
++xen-3 (3.4.3~rc3-2) unstable; urgency=low
++
++  * Again list the complete version in the hypervisor.
++  * Fix path detection for bootloader, document it. (closes: #481105)
++  * Rewrite README.
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 08 Apr 2010 16:14:58 +0200
++
++xen-3 (3.4.3~rc3-1) unstable; urgency=low
++
++  * New upstream release candidate.
++  * Use 3.0 (quilt) source format.
++  * Always use current python version.
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 01 Mar 2010 22:14:22 +0100
++
++xen-3 (3.4.2-2) unstable; urgency=low
++
++  * Remove Jeremy T. Bouse from uploaders.
++  * Export blktap lib and headers.
++  * Build amd64 hypervisor on i386. (closes: #366315)
++
++ -- Bastian Blank <waldi@debian.org>  Sun, 22 Nov 2009 16:54:47 +0100
++
++xen-3 (3.4.2-1) unstable; urgency=low
++
++  * New upstream version.
++  * Strip hvmloader by hand.
++  * Remove extra license file from libxen-dev.
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 16 Nov 2009 20:57:07 +0100
++
++xen-3 (3.4.1-1) unstable; urgency=low
++
++  * New upstream version.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 21 Aug 2009 21:34:38 +0200
++
++xen-3 (3.4.0-2) unstable; urgency=low
++
++  * Add symbols file for libxenstore3.0. (closes: #536173)
++  * Document that ioemu is currently unsupported. (closes: #536175)
++  * Fix location of fsimage plugins. (closes: #536174)
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 18 Jul 2009 18:05:35 +0200
++
++xen-3 (3.4.0-1) unstable; urgency=low
++
++  [ Bastian Blank ]
++  * New upstream version.
++  * Remove ioemu for now. (closes: #490409, #496367)
++  * Remove non-pae hypervisor.
++  * Use debhelper compat level 7.
++  * Make the init script start all daemons.
++
++ -- Bastian Blank <waldi@debian.org>  Tue, 30 Jun 2009 22:33:22 +0200
++
++xen-3 (3.2.1-2) unstable; urgency=low
++
++  * Use e2fslibs based ext2 support for pygrub. (closes: #476366)
++  * Fix missing checks in pvfb code.
++    See CVE-2008-1952. (closes: #487095)
++  * Add support for loading bzImage files. (closes: #474509)
++  * Enable TLS support in ioemu code.
++  * Drop libcrypto usage because of GPL-incompatibility.
++  * Remove AES code from blktap drivers. Considered broken.
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 28 Jun 2008 11:30:43 +0200
++
++xen-3 (3.2.1-1) unstable; urgency=low
++
++  * New upstream version.
++  * Set rpath relative to ${ORIGIN}.
++  * Add lintian override to xen-utils package.
++
++ -- Bastian Blank <waldi@debian.org>  Thu, 22 May 2008 14:01:47 +0200
++
++xen-3 (3.2.0-5) unstable; urgency=low
++
++  * Provide correct directory to dh_pycentral.
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 14 Apr 2008 21:43:49 +0200
++
++xen-3 (3.2.0-4) unstable; urgency=low
++
++  * Pull in newer xen-utils-common.
++  * Fix missing size checks in the ioemu block driver. (closes: #469654)
++    See: CVE-2008-0928
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 07 Mar 2008 14:21:38 +0100
++
++xen-3 (3.2.0-3) unstable; urgency=low
++
++  * Clean environment for build.
++  * Add packages libxenstore3.0 and xenstore-utils.
++  * Move docs package in docs section to match overwrites.
++  * Make the hypervisor only recommend the utils.
++  * Cleanup installation. (closes: #462989)
++
++ -- Bastian Blank <waldi@debian.org>  Tue, 12 Feb 2008 12:40:56 +0000
++
++xen-3 (3.2.0-2) unstable; urgency=low
++
++  * Fix broken patch. (closes: #462522)
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 26 Jan 2008 17:21:52 +0000
++
++xen-3 (3.2.0-1) unstable; urgency=low
++
++  * New upstream version.
++  * Add package libxen-dev. Including public headers and static libs.
++    (closes: #402249)
++  * Don't longer install xenfb, removed upstream.
++
++ -- Bastian Blank <waldi@debian.org>  Tue, 22 Jan 2008 12:51:49 +0000
++
++xen-3 (3.1.2-2) unstable; urgency=low
++
++  * Add missing rpath definitions.
++  * Fix building of pae version.
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 08 Dec 2007 12:07:42 +0000
++
++xen-3 (3.1.2-1) unstable; urgency=high
++
++  * New upstream release:
++    - Move shared file into /var/run. (closes: #447795)
++      See CVE-2007-3919.
++    - x86: Fix various problems with debug-register handling. (closes: #451626)
++      See CVE-2007-5906.
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 24 Nov 2007 13:24:45 +0000
++
++xen-3 (3.1.1-1) unstable; urgency=low
++
++  * New upstream release:
++    - Don't use exec with untrusted values in pygrub. (closes: #444430)
++      See CVE-2007-4993.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 19 Oct 2007 16:02:37 +0000
++
++xen-3 (3.1.0-2) unstable; urgency=low
++
++  * Switch to texlive for documentation.
++  * Drop unused transfig.
++  * Drop unused latex features from documentation.
++  * Build depend against gcc-multilib for amd64. (closes: #439662)
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 31 Aug 2007 08:15:50 +0000
++
++xen-3 (3.1.0-1) unstable; urgency=low
++
++  [ Julien Danjou ]
++  * New upstream version.
++
++  [ Ralph Passgang ]
++  * Added graphviz to Build-Indeps
++
++  [ Bastian Blank ]
++  * Upstream removed one part of the version. Do it also.
++  * Merge utils packages.
++  * Install blktap support.
++  * Install pygrub.
++  * Install xenfb tools.
++  * xenconsoled startup is racy, wait a little bit.
++
++ -- Bastian Blank <waldi@debian.org>  Mon, 20 Aug 2007 15:05:08 +0000
++
++xen-3.0 (3.0.4-1-1) unstable; urgency=low
++
++  [ Bastian Blank ]
++  * New upstream version (closes: #394411)
++
++  [ Guido Trotter ]
++  * Actually try to build and release xen 3.0.4
++  * Update build dependencies
++
++ -- Guido Trotter <ultrotter@debian.org>  Wed, 23 May 2007 11:57:29 +0100
++
++xen-3.0 (3.0.3-0-2) unstable; urgency=medium
++
++  [Bastian Blank]
++  * Remove device recreate code.
++  * Remove build dependency on linux-support-X
++
++  [ Guido Trotter ]
++  * Add missing build dependency on zlib1g-dev (closes: #396557)
++  * Add missing build dependencies on libncurses5-dev and x11proto-core-dev
++    (closes: #396561, #396567)
++
++ -- Guido Trotter <ultrotter@debian.org>  Thu,  2 Nov 2006 16:38:02 +0000
++
++xen-3.0 (3.0.3-0-1) unstable; urgency=low
++
++  * New upstream version.
++
++ -- Bastian Blank <waldi@debian.org>  Fri, 20 Oct 2006 11:04:35 +0000
++
++xen-3.0 (3.0.3~rc4+hg11760-1) unstable; urgency=low
++
++  * New upstream snapshot.
++  * Ignore update-grub errors. (closes: #392534)
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 14 Oct 2006 13:09:53 +0000
++
++xen-3.0 (3.0.3~rc1+hg11686-1) unstable; urgency=low
++
++  * New upstream snapshot.
++  * Rename ioemu package to include the complete version.
++  * Fix name of hypervisor. (closes: #391771)
++
++ -- Bastian Blank <waldi@debian.org>  Mon,  9 Oct 2006 12:48:13 +0000
++
++xen-3.0 (3.0.2-3+hg9762-1) unstable; urgency=low
++
++  * New upstream snapshot.
++  * Rename hypervisor and utils packages to include the complete version.
++  * Redo build environment.
++
++ -- Bastian Blank <waldi@debian.org>  Mon,  4 Sep 2006 18:43:12 +0000
++
++xen-3.0 (3.0.2+hg9697-2) unstable; urgency=low
++
++  [ Guido Trotter ]
++  * Update xen-utils' README.Debian (closes: #372524)
++
++  [ Bastian Blank ]
++  * Adopt new python policy. (closes: #380990)
++  * Add patch to make new kernels working on the hypervisor.
++
++ -- Bastian Blank <waldi@debian.org>  Tue, 15 Aug 2006 19:20:08 +0000
++
++xen-3.0 (3.0.2+hg9697-1) unstable; urgency=low
++
++  [ Guido Trotter ]
++  * Update Standards Version
++  * Merge upstream fixes trunk (upstream 3.0.2-3 + a couple of fixes)
++
++  [ Bastian Blank ]
++  * Add xen-ioemu-3.0 package to support HVM guests (closes: #368496)
++
++ -- Guido Trotter <ultrotter@debian.org>  Wed, 31 May 2006 10:50:05 +0200
++
++xen-3.0 (3.0.2+hg9681-1) unstable; urgency=low
++
++  * Update xen-hypervisor-3.0-i386 and xen-hypervisor-3.0-i386-pae
++    descriptions, specifying what the difference between the two packages is
++    (closes: #366019)
++  * Merge upstream fixes trunk
++
++ -- Guido Trotter <ultrotter@debian.org>  Thu, 18 May 2006 15:25:02 +0200
++
++xen-3.0 (3.0.2+hg9656-1) unstable; urgency=low
++
++  * Merge upstream fixes trunk
++    - This includes a fix for CVE-2006-1056
++
++ -- Guido Trotter <ultrotter@debian.org>  Thu, 27 Apr 2006 17:34:03 +0200
++
++xen-3.0 (3.0.2+hg9651-1) unstable; urgency=low
++
++  * Merge upstream fixes trunk
++  * Fix PAE disabled in pae build (Closes: #364875) 
++
++ -- Julien Danjou <acid@debian.org>  Wed, 26 Apr 2006 13:19:39 +0200
++
++xen-3.0 (3.0.2+hg9646-1) unstable; urgency=low
++
++  [ Guido Trotter ]
++  * Merge upstream fixes trunk
++
++  [ Bastian Blank ]
++  * debian/patches/libdir.dpatch: Update to make xm save work
++
++ -- Julien Danjou <acid@debian.org>  Mon, 24 Apr 2006 18:02:07 +0200
++
++xen-3.0 (3.0.2+hg9611-1) unstable; urgency=low
++
++  * Merge upstream bug fixes
++  * Fix bug with xend init.d script
++
++ -- Julien Danjou <acid@debian.org>  Wed, 12 Apr 2006 17:35:35 +0200
++
++xen-3.0 (3.0.2+hg9598-1) unstable; urgency=low
++
++  * New upstream release
++  * Fix copyright file
++
++ -- Julien Danjou <acid@debian.org>  Mon, 10 Apr 2006 17:02:55 +0200
++
++xen-3.0 (3.0.1+hg8762-1) unstable; urgency=low
++
++  * The "preserve our homes" release
++  * Now cooperatively maintained by the Debian Xen Team
++  * New upstream release (closes: #327493, #342249)
++  * Build depend on transfig (closes: #321157)
++  * Use gcc rather than gcc-3.4 to compile (closes: #323698)
++  * Split xen-hypervisor-3.0 and xen-utils-3.0
++  * Build both normal and pae hypervisor packages
++  * Change maintainer and add uploaders field
++  * Add force-reload support for init script xendomains
++  * Remove dependency against bash
++  * Bump standards version to 3.6.2.2
++  * xen-utils-3.0 conflicts and replaces xen
++  * Add dpatch structure to the package
++  * Remove build-dependency on gcc (it's build essential anyway)
++  * Make SrvServer.py not executable
++  * Create NEWS.Debian file with important upgrade notices
++  * Update copyright file
++  * Remove the linux-patch-xen package
++  * Removed useless build-dependencies: libncurses5-dev, wget
++  * Changed xendomains config path to /etc/default
++  * xen-utils-3.0 now provides xen-utils and xen-hypervisor-3.0-i386 &
++    xen-hypervisor-3.0-i386-pae & xen-hypervizor-amd64 now provide
++    xen-hypervisor
++  * Made xen-utils-3.0.postinst more fault-tolerant, so that upgrading
++    xen2 -> xen3 don't fail because of a running xen2 hypervisor
++  * Updated the "Replaces & Conflicts"
++  * Install only and correctly udev files
++  * Compile date is no more in current locale
++  * Add patch which add the debian version and maintainer in the version
++    string and removes the banner.
++  * Don't install unusable cruft in xen-utils
++  * Remove libxen packages (no stable API/ABI)
++
++ -- Julien Danjou <acid@debian.org>  Wed,  5 Apr 2006 16:05:07 +0200
++
++xen (2.0.6-1) unstable; urgency=low
++
++  * Patches applied upstream: non-xen-init-exit.patch, add-build.patch,
++    python-install.patch, disable-html-docs.patch.
++  * New upstream released.  Closes: #311336.
++  * Remove comparison to UML from xen short description.  Closes: #317066.
++  * Make packages conflicts with 1.2 doc debs.  Closes: #304285.
++  * Add iproute to xen depends, as it uses /bin/ip.  Closes: #300488,
++    #317468.
++
++ -- Adam Heath <doogie@brainfood.com>  Wed, 06 Jul 2005 12:35:50 -0500
++
++xen (2.0.5-3) experimental; urgency=low
++
++  * Change priority/section to match the overrides file.
++
++ -- Adam Heath <doogie@brainfood.com>  Fri, 18 Mar 2005 12:43:50 -0600
++
++xen (2.0.5-2) experimental; urgency=low
++
++  * Mike McCallister <mike+debian@metalogue.com>,
++    Tommi Virtanen <tv@debian.org>, Tom Hibbert <tom@nsp.co.nz>:
++    Fix missing '.' in update-rc.d call in xen.postinst.  Closes: #299384
++
++ -- Adam Heath <doogie@brainfood.com>  Fri, 18 Mar 2005 11:39:56 -0600
++
++xen (2.0.5-1) experimental; urgency=low
++
++  * New upstream.
++  * Remove pic-lib.patch, tools-misc-TARGETS.patch, and clean-mttr.patch
++    as they have been applied upstream(in various forms).
++  * xend now starts at priority 20, stops at 21, while xendomains starts
++    at 21, and stops at 20.
++
++ -- Adam Heath <doogie@brainfood.com>  Fri, 11 Mar 2005 14:33:33 -0600
++
++xen (2.0.4-4) experimental; urgency=low
++
++  * Bah, major booboo.  Add /boot to debian/xen.install, so xen.gz will
++    get shipped.  Reported by Clint Adams <schizo@debian.org>.
++
++ -- Adam Heath <doogie@brainfood.com>  Tue, 15 Feb 2005 13:00:57 -0600
++
++xen (2.0.4-3) experimental; urgency=low
++
++  * Fix file overlap(/usr/share/doc/xen/examples/*) between xen and
++    xen-docs.  Reported by Tupshin Harper <tupshin@tupshin.com>.
++
++ -- Adam Heath <doogie@brainfood.com>  Sun, 06 Feb 2005 01:22:45 -0600
++
++xen (2.0.4-2) experimental; urgency=low
++
++  * Fix kernel patch generation.  It was broken when I integrated with
++    debian's kernel source.  I used a symlink, and diff doesn't follow
++    those.
++
++ -- Adam Heath <doogie@brainfood.com>  Sat, 05 Feb 2005 18:16:35 -0600
++
++xen (2.0.4-1) experimental; urgency=low
++
++  * New upstream.
++  * xen.deb can now install on a plain kernel; that is, the init scripts
++    exit successfully if /proc/xen/privcmd doesn't exist.  This allows
++    for dual-boot setups.
++  * Manpages do not yet exist xend, xenperf, xensv, xfrd, nor xm.  xend
++    xfrd are daemons, and take little if any options.  I've not had a need
++    to use xenperf nor xensv yet.  xm has nice built in help(xm help).
++  * Upstream now requires either linux 2.4.29, or 2.6.10.  Since 2.4.29 is
++    not yet in debian, disable the 2.4 patch generation.  Closes: #271245.
++  * Not certain how the kernel-patch-xen was empty.  It's not now, with
++    the repackaging.  Closes: #272299.
++  * Xen no longer produces kernel images, so problems about missing features
++    are no longer valid.  Closes: #253924.
++  * Acknowledge nmu bugs:
++    * No longer build-depend on gcc 3.3, as the default gcc works. Closes:
++      #243048.
++
++ -- Adam Heath <doogie@brainfood.com>  Sat, 05 Feb 2005 18:04:27 -0600
++
++xen (2.0.3-0.1) unstable; urgency=low
++
++  * Changes from Tommi Virtanen:
++    * Added dh-kpatches and libcurl3-dev to Build-Depends.
++    * Add /etc/xen/sv/params.py and /etc/xen/xend/params.py.
++    * Add xmexample1 and xmexample2 to xen/doc/examples.
++
++ -- Adam Heath <doogie@brainfood.com>  Wed, 26 Jan 2005 10:55:07 -0600
++
++xen (2.0.3-0) unstable; urgency=low
++
++  * New upstream.  Closes: #280733.
++  * Repackaged from scratch.
++  * Using unreleased patch management system.  See debian/README.build.
++    * After extracting the .dsc, there are no special steps needed
++    * Those wanting to change the source, use the normal procedures for
++      any package, including using interdiff(or other tool) to send a
++      patch to me or the bts.
++  * No longer try to do anything fancy with regard to the layout of the
++    built kernels.  Now, only patches are distributed.  Please make use of
++    the xen support in kernel-package.
++  * Early preview release to #debian-devel.
++
++ -- Adam Heath <doogie@brainfood.com>  Tue, 25 Jan 2005 13:24:54 -0600
++
++xen (1.2-4.1) unstable; urgency=high
++
++  * NMU
++  * Remove gcc-3.2 from Build-Depends as isn't used during build
++    (Closes: #243048)
++
++ -- Frank Lichtenheld <djpig@debian.org>  Sat, 21 Aug 2004 17:42:28 +0200
++
++xen (1.2-4) unstable; urgency=low
++
++  * Added xen-docs.README.Debian, which explains the kernel image layout,
++    and contains references on the locations differ from what is mentioned
++    by the upstream documentation.  Closes: #230345.
++
++ -- Adam Heath <doogie@brainfood.com>  Fri, 26 Mar 2004 17:36:41 -0600
++
++xen (1.2-3) unstable; urgency=low
++
++  * Add kernel-source-2.4.25 and kernel-patch-debian-2.4.25 to
++    Build-Depends-Indep.
++
++ -- Adam Heath <doogie@brainfood.com>  Tue, 23 Mar 2004 20:14:39 -0600
++
++xen (1.2-2) unstable; urgency=low
++
++  * xen: moved /boot/xen.gz to /usr/lib/kernels/xen-i386/images/vmlinuz
++  * kernel-image, kernel-modules: swapped i386/xeno to xeno/i386 in
++    /usr/lib/kernels.
++  * Add kernel-patch-nfs-swap deb.
++  * Apply additional patches to kernel-image-xen:
++    * nfs-group
++    * nfs-swap
++
++ -- Adam Heath <doogie@brainfood.com>  Thu, 04 Mar 2004 12:47:47 -0600
++
++xen (1.2-1) unstable; urgency=low
++
++  * Initial version.
++
++ -- Adam Heath <doogie@brainfood.com>  Tue, 02 Mar 2004 13:21:52 -0600
diff --cc debian/compat
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ec635144f60048986bc560c5576355344005e6e7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++9
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..32177fc74512ae4d89af93b67f26209d0ad457a9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,151 @@@
++Source: xen
++Section: kernel
++Priority: optional
++Maintainer: Debian Xen Team <pkg-xen-devel@lists.alioth.debian.org>
++Uploaders: Guido Trotter <ultrotter@debian.org>, Bastian Blank <waldi@debian.org>
++Standards-Version: 3.9.4
++Build-Depends: autotools-dev, debhelper (>> 9), dpkg-dev (>= 1.16.0~), lsb-release, python-dev, bcc [i386 amd64], gcc-multilib [i386 amd64], e2fslibs-dev, iasl [i386 amd64], seabios (>= 1.7.4-2~) [i386 amd64], libaio-dev, libfdt-dev [armhf arm64], libglib2.0-dev, liblzma-dev, libncurses5-dev, libpixman-1-dev, libyajl-dev, libssl-dev, pkg-config, uuid-dev, zlib1g-dev
++XS-Python-Version: current
++
++Package: libxen-4.6
++Architecture: amd64 arm64 armhf i386
++Section: libs
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Description: Public libs for Xen
++ This package contains the shared toolstack libraries for Xen.
++Multi-Arch: same
++
++Package: libxenstore3.0
++Architecture: amd64 arm64 armhf i386
++Section: libs
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Description: Xenstore communications library for Xen
++ This package contains the client library interface to XenStore.  .
++Multi-Arch: same
++
++Package: libxen-dev
++Architecture: amd64 arm64 armhf i386
++Section: libdevel
++Depends: libxen-4.6 (= ${binary:Version}), libxenstore3.0 (= ${binary:Version}), ${misc:Depends}
++Description: Public headers and libs for Xen
++ This package contains the public headers and static libraries for Xen.
++ .
++ The libxenlight library is intended as a common base for all Xen toolstack
++ developers.  The libxlutil library contains additional helpers which may
++ be useful to toolstack developers.
++ .
++ The libxenstore library allows userspace processes to interact with the
++ XenStore database.  XenStore is a shared database used for interdomain
++ communication of configuration and status information.  It is accessible
++ to all domains running on the same Xen host.  See
++ http://wiki.xen.org/wiki/XenStore for more information.
++ .
++ The libxenctrl and libxenguest libraries are internal libraries intended
++ for use by the Xen toolstack and are not intended to be used directly.
++ Toolstack authors should use libxenlight.
++
++Package: xenstore-utils
++Architecture: amd64 arm64 armhf i386
++Section: admin
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Replaces: xen-utils-common (<= 3.1.0-1)
++Conflicts: xen-utils-common (<= 3.1.0-1)
++Description: Xenstore command line utilities for Xen
++ This package contains command line utilities for interacting with
++ XenStore.
++ .
++ XenStore is a shared database used for interdomain communication of
++ configuration and status information.  It is accessible to all domains
++ running on the same Xen host.  See http://wiki.xen.org/wiki/XenStore for
++ more information.
++ .
++ In the common case these tools are used by the Xen toolstack running in
++ domain0 (or a driver domain) however they may also be used in a guest
++ domain to support local scripting which wants to communicate via XenStore.
++
++Package: xen-utils-common
++Architecture: all
++Depends: lsb-base, python, udev, xenstore-utils, ${misc:Depends}
++Description: Xen administrative tools - common files
++ The userspace tools to manage a system virtualized through the Xen virtual
++ machine monitor.
++ .
++ This package is only required on the host system (Domain 0) and not on the
++ virtual guest systems (Domain U).
++
++Package: xen-utils-4.6
++Architecture: amd64 arm64 armhf i386
++Provides: xen-utils
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, xen-utils-common (>= ${source:Version})
++Recommends: bridge-utils, libc6-xen [i386], xen-hypervisor-4.6, qemu-system-x86, grub-xen-host [i386 amd64]
++Description: XEN administrative tools
++ The userspace tools to manage a system virtualized through the XEN virtual
++ machine monitor.
++Built-Using: ${misc:Built-Using}
++
++Package: xen-hypervisor-4.6-amd64
++Architecture: amd64 i386
++Provides: xen-hypervisor, xen-hypervisor-4.6, xen-hypervisor-amd64
++Depends: ${misc:Depends}
++Recommends: xen-utils-4.6
++Description: Xen Hypervisor on AMD64
++ The hypervisor is the "core" for XEN itself.  It gets booted by the boot
++ loader and controls cpu and memory, sharing them between your
++ administrative domain (Domain 0) and the virtual guest systems.
++ .
++ In order to boot a XEN system along with this package you also need a
++ kernel specifically crafted to work as the Domain 0, mediating hardware
++ access for XEN itself.
++
++Package: xen-system-amd64
++Architecture: amd64 i386
++Provides: xen-system
++Depends: xen-hypervisor-4.6-amd64, xen-utils-4.6, ${misc:Depends}
++Description: Xen System on AMD64 (meta-package)
++ This package depends on the latest Xen hypervisor for use on AMD64 and the
++ Xen utils.
++
++Package: xen-hypervisor-4.6-arm64
++Architecture: arm64
++Provides: xen-hypervisor, xen-hypervisor-4.6, xen-hypervisor-arm64
++Depends: ${misc:Depends}
++Recommends: xen-utils-4.6
++Description: Xen Hypervisor on ARM64
++ The hypervisor is the "core" for XEN itself.  It gets booted by the boot
++ loader and controls cpu and memory, sharing them between your
++ administrative domain (Domain 0) and the virtual guest systems.
++ .
++ In order to boot a XEN system along with this package you also need a
++ kernel specifically crafted to work as the Domain 0, mediating hardware
++ access for XEN itself.
++
++Package: xen-system-arm64
++Architecture: arm64
++Provides: xen-system
++Depends: xen-hypervisor-4.6-arm64, xen-utils-4.6, ${misc:Depends}
++Description: Xen System on ARM64 (meta-package)
++ This package depends on the latest Xen hypervisor for use on ARM64 and the
++ Xen utils.
++
++Package: xen-hypervisor-4.6-armhf
++Architecture: armhf
++Provides: xen-hypervisor, xen-hypervisor-4.6, xen-hypervisor-armhf
++Depends: ${misc:Depends}
++Recommends: xen-utils-4.6
++Description: Xen Hypervisor on ARMHF
++ The hypervisor is the "core" for XEN itself.  It gets booted by the boot
++ loader and controls cpu and memory, sharing them between your
++ administrative domain (Domain 0) and the virtual guest systems.
++ .
++ In order to boot a XEN system along with this package you also need a
++ kernel specifically crafted to work as the Domain 0, mediating hardware
++ access for XEN itself.
++
++Package: xen-system-armhf
++Architecture: armhf
++Provides: xen-system
++Depends: xen-hypervisor-4.6-armhf, xen-utils-4.6, ${misc:Depends}
++Description: Xen System on ARMHF (meta-package)
++ This package depends on the latest Xen hypervisor for use on ARMHF and the
++ Xen utils.
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1ea3d2411b9e2edc53660df04e33b5adf8b8cc13
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++3d446943149a2ad4e038758f77d1248d  debian/changelog
++dc7b5d9f0538e3180af4e9aff9b0bd57  debian/bin/gencontrol.py
++e8f2113c78600fc17eeae209c9fad062  debian/templates/control.main.in
++a15fa64ce6deead28d33c1581b14dba7  debian/templates/xen-hypervisor.postinst.in
++fe9f3e8a9c9b716f7b4c5b7d7aec3128  debian/templates/control.system.latest.in
++03f63e67cf2d915bfbb535f8c9d9e2e4  debian/templates/xen-utils.postinst.in
++e698544e9ada2d606bdddd1a753b0f0e  debian/templates/control.source.in
++a4fad0ec66d977759a362165bf8aa31d  debian/templates/control.hypervisor.in
++22492e0565a4754b5e008ca7cac871da  debian/templates/xen-hypervisor.postrm.in
++3b6a762d6fef1e6407191d3a7bf38222  debian/templates/control.utils.in
++dcabf82578122540e0534f72750698d5  debian/templates/xen-utils.lintian-overrides.in
++b6acd21c3924e6ec6f9c547afbbc7d9e  debian/templates/xen-utils.prerm.in
++f48f31b0af755ff8b08b4575e94d6390  debian/arch/defines
++bda767ffd62b57de88b50731794f1374  debian/arch/i386/defines
++06efb201e83233c4607b13c8dad5c031  debian/arch/armhf/defines
++afd11afd204a8929340d194894572353  debian/arch/amd64/defines
++b6a35272efc8545fafab547e1cf492cb  debian/arch/arm64/defines
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9a0736c2777d8bb565fac2d7a3dd83007cd40aa4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,307 @@@
++This work was downloaded from
++
++    http://xenbits.xensource.com/
++
++Copyright:
++
++    Copyright (C) 1998-2005 Hewlett-Packard Co
++                  1999-2006 Silicon Graphics, Inc
++                  2001-2006 IBM Corporation
++                  2005-2006 XenSource Inc
++                  2006-2010 Citrix Systems Inc.
++    and many others
++
++License:
++
++    This package is free software; you can redistribute it and/or modify
++    it under the terms of the GNU General Public License version 2 as
++    published by the Free Software Foundation.
++
++    This package is distributed in the hope that it will be useful,
++    but WITHOUT ANY WARRANTY; without even the implied warranty of
++    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++    GNU General Public License for more details.
++
++    You should have received a copy of the GNU General Public License
++    along with this program. If not, see <http://www.gnu.org/licenses/>
++
++On Debian systems, the complete text of the GNU General
++Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
++
++The bundled qemu is:
++
++    Copyright (C) 2007 Alexander Graf
++                  2005,2007 Alex Beregszaszi
++                  2005-2008 Andrzej Zaborowski <balrog@zabor.org>
++                  2005-2007 Anthony Liguori <anthony@codemonkey.ws>
++                  2004 Antony T Curtis
++                  2007 Arastra, Inc.
++                  2007 Armin Kuster <akuster@kama-aina.net> or
++                  1999 AT&T Laboratories Cambridge
++                  2006,2007 Aurelien Jarno
++                  2007-2008 AXIS Communications AB
++                  2007-2008 Bull S.A.S.
++                  2006 Christian Limpach
++                  2008 Citrix Systems, Inc.
++                  2005-2008 CodeSourcery
++                  2007 Dan Aloni
++                  1995,1996 Danny Gasparovski
++                  2000-2003 David McCullough <davidm@snapgear.com>
++                  2008 Dmitry Baryshkov
++                  2007-2009 Edgar E. Iglesias, Axis Communications AB.
++                  1996-1999 Eduardo Horvath
++                  1998,2003-2008 Fabrice Bellard
++                  2005 Filip Navara
++                  2006 Frederick Reeve
++                  2009 Freescale Semiconductor
++                  1986-2007 Free Software Foundation, Inc.
++                  2004 Gianni Tedesco
++                  2008 Gleb Natapov
++                  2002 Greg Ungerer <gerg@snapgear.com>
++                  2007-2009 Hervé Poussineau
++                  2005,2007,2008 IBM Corporation
++                  2008 IBM Corporation
++                  2006 Igor Kovalenko
++                  2006 InnoTek Systemberatung GmbH
++                  1999-2008 Intel Corporation
++                  2009 Isaku Yamahata
++                  2003-2004 James Yonan
++                  2008 Jan Kiszka
++                  2006 Joachim Henke
++                  2003-2007 Jocelyn Mayer
++                  2004,2005 Johannes E. Schindelin
++                  2005 Julian Chesterfield and Andrew Warfield.
++                  2008 Kamala Narasimhan
++                  1998 Kenneth Albanowski <kjahds@kjahds.com>
++                  2008 Kevin Wolf
++                  2009 Kevin Wolf <kwolf@suse.de>
++                  2009 Laurent Vivier
++                  2007-2008 Lauro Ramos Venancio  <lauro.venancio@indt.org.br>
++                  2000,2001 Lineo, by David McCullough <davidm@lineo.com>
++                  1991,1992,1996 Linus Torvalds
++                  2006 Lonnie Mendez
++                  2008 Lubomir Rintel
++                  2004,2007 Magnus Damm
++                  2004 Makoto Suzuki (suzu)
++                  2002-2006  Marcel Holtmann <marcel@holtmann.org>
++                  2006 Marius Groeger (FPU operations)
++                  2007 Marko Kohtala
++                  2002-2003  Maxim Krasnyansky <maxk@qualcomm.com>
++                  2008 Max Krasnyansky
++                  2005,2008 Mike Kronenberg
++                  2007 MontaVista Software, Inc
++                  2007 Neocleus Corporation.
++                  2007-2008 Nokia Corporation
++                  2001 OKTET Ltd., St.-Petersburg, Russia
++                  2006-2008 Openedhand Ltd.
++                  2007-2008 OpenMoko, Inc.
++                  1996 Paul Mackerras.
++                  2008 Paul Mundt
++                  2006 Pierre d'Herbemont
++                  2000-2001 Qualcomm Incorporated
++                  2006-2008 Qumranet Technologies
++                  1997-1999,2001,2009 Red Hat, Inc.
++                  1988,1989,1990,1991,1992 Richard Outerbridge
++                  2007 Robert Reif
++                  1998-2004 Samuel Rydh (samuel@ibrium.se)
++                  2005 Samuel Tardieu
++                  2007,2008 Samuel Thibault
++                  2008 Semihalf
++                  2008 Shin-ichiro KAWASAKI
++                  2002 SnapGear, by Paul Dale <pauli@snapgear.com>
++                  2006-2007 Stefan Weil
++                  2008 Takashi YOSHII
++                  1999,2000 Tatsuyuki Satoh , MultiArcadeMachineEmurator development
++                  1993 Theodore Ts'o
++                  2006,2007 Thiemo Seufer
++                  2003 Thomas M. Ogrisegg <tom@fnord.at>
++                  2006 Thomas Sailer
++                  1998-2001,2003 Thomas Sailer (t.sailer@alumni.ethz.ch)
++                  2006,2007 Thorsten Zitterell
++                  2000-2007 Tibor "TS" Schütz
++                  2008 TJ <linux@tjworld.net>
++                  2002-2005 Vassili Karpov (malc)
++                  2005 Vassili Karpov (malc)
++                  2007 Vladimir Ananiev <vovan888@gmail.com>
++                  2006 XenSource
++
++The Debian packaging is:
++
++    Copyright (C) 2008-2010 Bastian Blank <waldi@debian.org>
++
++you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2 of the License, or
++(at your option) any later version.
++
++The following parts are subject of a different license:
++* tools/firmware/vgabios
++* tools/libaio
++* tools/libxen
++* tools/xenstat/libxenstat
++* tools/xenstore
++
++    This package is free software; you can redistribute it and/or
++    modify it under the terms of the GNU Lesser General Public
++    License as published by the Free Software Foundation; either
++    version 2.1 of the License, or (at your option) any later version.
++
++    This package is distributed in the hope that it will be useful,
++    but WITHOUT ANY WARRANTY; without even the implied warranty of
++    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++    Lesser General Public License for more details.
++
++    You should have received a copy of the GNU General Public License
++    along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++On Debian systems, the complete text of the GNU Lesser General
++Public License can be found in "/usr/share/common-licenses/LGPL-2".
++
++Files in xen/include/public are subject to the following license:
++
++    Permission is hereby granted, free of charge, to any person obtaining a
++    copy of this software and associated documentation files (the "Software"),
++    to deal in the Software without restriction, including without limitation
++    the rights to use, copy, modify, merge, publish, distribute, sublicense,
++    and/or sell copies of the Software, and to permit persons to whom the
++    Software is furnished to do so, subject to the following conditions:
++
++    The above copyright notice and this permission notice shall be included in
++    all copies or substantial portions of the Software.
++
++    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++    DEALINGS IN THE SOFTWARE.
++
++Files in extra/mini-os are subject to the following license:
++
++    Redistribution and use in source and binary forms, with or without
++    modification, are permitted provided that the following conditions are met:
++    1. Redistributions of source code must retain the above copyright notice,
++       this list of conditions and the following disclaimer.
++    2. Redistributions in binary form must reproduce the above copyright
++       notice, this list of conditions and the following disclaimer in the
++       documentation and/or other materials provided with the distribution.
++
++    THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
++    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++    ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
++    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++    OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++    LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++    OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++    SUCH DAMAGE.
++
++Files in tools/vtpm_manager are subject to the following license:
++
++    Redistribution and use in source and binary forms, with or without
++    modification, are permitted provided that the following conditions
++    are met:
++
++      * Redistributions of source code must retain the above copyright
++        notice, this list of conditions and the following disclaimer.
++      * Redistributions in binary form must reproduce the above
++        copyright notice, this list of conditions and the following
++        disclaimer in the documentation and/or other materials provided
++        with the distribution.
++      * Neither the name of Intel Corporation nor the names of its
++        contributors may be used to endorse or promote products derived
++        from this software without specific prior written permission.
++
++    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
++    FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
++    COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
++    INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
++    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
++    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
++    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
++    OF THE POSSIBILITY OF SUCH DAMAGE.
++
++File tools/python/test.py is subject to the following license:
++
++    This software is Copyright (c) Zope Corporation (tm) and
++    Contributors. All rights reserved.
++
++    This license has been certified as open source. It has also
++    been designated as GPL compatible by the Free Software
++    Foundation (FSF).
++
++    Redistribution and use in source and binary forms, with or
++    without modification, are permitted provided that the
++    following conditions are met:
++
++    1. Redistributions in source code must retain the above
++       copyright notice, this list of conditions, and the following
++       disclaimer.
++
++    2. Redistributions in binary form must reproduce the above
++       copyright notice, this list of conditions, and the following
++       disclaimer in the documentation and/or other materials
++       provided with the distribution.
++
++    3. The name Zope Corporation (tm) must not be used to
++       endorse or promote products derived from this software
++       without prior written permission from Zope Corporation.
++
++    4. The right to distribute this software or to use it for
++       any purpose does not give you the right to use Servicemarks
++       (sm) or Trademarks (tm) of Zope Corporation. Use of them is
++       covered in a separate agreement (see
++       http://www.zope.com/Marks).
++
++    5. If any files are modified, you must cause the modified
++       files to carry prominent notices stating that you changed
++       the files and the date of any change.
++
++    Disclaimer
++      
++      THIS SOFTWARE IS PROVIDED BY ZOPE CORPORATION ``AS IS''
++      AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
++      NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
++      AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
++      NO EVENT SHALL ZOPE CORPORATION OR ITS CONTRIBUTORS BE
++      LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
++      EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++      LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++      LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++      HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
++      CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
++      OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++      SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
++      DAMAGE.
++
++    This software consists of contributions made by Zope
++    Corporation and many individuals on behalf of Zope
++    Corporation.  Specific attributions are listed in the
++    accompanying credits file.
++
++Files in tools/python/logging are subject to the following license:
++
++    Copyright (C) 2001-2004 by Vinay Sajip. All Rights Reserved.
++
++    Permission to use, copy, modify, and distribute this software and its
++    documentation for any purpose and without fee is hereby granted,
++    provided that the above copyright notice appear in all copies and that
++    both that copyright notice and this permission notice appear in
++    supporting documentation, and that the name of Vinay Sajip
++    not be used in advertising or publicity pertaining to distribution
++    of the software without specific, written prior permission.
++
++    VINAY SAJIP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
++    ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
++    VINAY SAJIP BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
++    ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
++    AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
++    IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5ef35f95dd8e1235ed5bde3145640a6d89e9fc57
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++def _setup():
++    import os.path, sys
++    version = None
++    rules = os.path.join(__path__[0], "../../../rules.defs")
++    f = open(rules)
++    for l in f:
++        l = l.strip().split()
++        if l[0] == 'KERNELVERSION':
++            version = l[-1]
++    f.close()
++    if version is None:
++        raise RuntimeError("Can't find KERNELVERSION setting")
++    global support
++    support = '/usr/src/linux-support-%s' % version
++    if not os.path.exists(support):
++        raise RuntimeError("Can't find %s, please install the linux-support-%s package" % (support, version))
++    sys.path.append('%s/lib/python' % support)
++
++_setup()
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4b7037bc6568a7aef6629046826f8d14e00cab89
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,35 @@@
++import re
++from debian_linux.debian import Version
++
++
++class VersionXen(Version):
++    _version_xen_rules = r"""
++^
++(?P<version>
++    \d+\.\d+
++)
++(?:
++    \.\d+
++    (?:
++        ~rc\d+
++    )?
++    (?:
++        \+hg-\d+.[a-z0-9]+
++    )?
++    |
++    ~hg-\d+.[a-z0-9]+
++)
++-
++(?:[^-]+)
++$
++"""
++    _version_xen_re = re.compile(_version_xen_rules, re.X)
++
++    def __init__(self, version):
++        super(VersionXen, self).__init__(version)
++        match = self._version_xen_re.match(version)
++        if match is None:
++            raise ValueError("Invalid debian xen version")
++        d = match.groupdict()
++        self.xen_version = d['version']
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..96ffc2539832e2ca65e23ba5bd0de04d35a86cf6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++usr/lib/*/libxenctrl.a
++usr/lib/*/libxenctrl.so
++usr/lib/*/libxenguest.a
++usr/lib/*/libxenguest.so
++usr/lib/*/libxenlight.a
++usr/lib/*/libxenlight.so
++usr/lib/*/libxenstore.a
++usr/lib/*/libxenstore.so
++usr/lib/*/libxlutil.a
++usr/lib/*/libxlutil.so
++usr/include/_libxl*.h
++usr/include/libxl*.h
++usr/include/xenctrl.h
++usr/include/xenguest.h
++usr/include/xenstore*.h
++usr/include/xenstore-compat/xs* usr/include
++usr/include/xentoollog.h
++usr/include/xenctrlosdep.h
++usr/include/xen
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b0eecf5d655a4a171c0ef53fd03a570cefc05e7f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libxenstore.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5b60ffdac6bfd7fb4716b6802cdc1b5d31cf5657
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,46 @@@
++libxenstore.so.3.0 libxenstore3.0 #MINVER#
++ expanding_buffer_ensure@Base 3.2.0
++ sanitise_value@Base 3.2.0
++ unsanitise_value@Base 3.2.0
++ xprintf@Base 3.2.0
++ xs_check_watch@Base 4.2~
++ xs_close@Base 4.1.0~rc6
++ xs_count_strings@Base 3.2.0
++ xs_daemon_close@Base 3.2.0
++ xs_daemon_destroy_postfork@Base 4.0.1~rc4
++ xs_daemon_open@Base 3.2.0
++ xs_daemon_open_readonly@Base 3.2.0
++ xs_daemon_rootdir@Base 3.2.0
++ xs_daemon_rundir@Base 3.2.0
++ xs_daemon_socket@Base 3.2.0
++ xs_daemon_socket_ro@Base 3.2.0
++ xs_daemon_tdb@Base 3.2.0
++ xs_debug_command@Base 3.2.0
++ xs_directory@Base 3.2.0
++ xs_domain_dev@Base 3.2.0
++ xs_domain_open@Base 3.2.0
++ xs_fileno@Base 3.2.0
++ xs_get_domain_path@Base 3.2.0
++ xs_get_permissions@Base 3.2.0
++ xs_introduce_domain@Base 3.2.0
++ xs_is_domain_introduced@Base 3.2.0
++ xs_mkdir@Base 3.2.0
++ xs_open@Base 4.1.0~rc6
++ xs_path_is_subpath@Base 4.2~
++ xs_perm_to_string@Base 3.2.0
++ xs_read@Base 3.2.0
++ xs_read_watch@Base 3.2.0
++ xs_release_domain@Base 3.2.0
++ xs_restrict@Base 4.1.0~rc6
++ xs_resume_domain@Base 3.2.0
++ xs_rm@Base 3.2.0
++ xs_set_permissions@Base 3.2.0
++ xs_set_target@Base 3.4.0
++ xs_strings_to_perms@Base 3.2.0
++ xs_suspend_evtchn_port@Base 3.4.0
++ xs_transaction_end@Base 3.2.0
++ xs_transaction_start@Base 3.2.0
++ xs_unwatch@Base 3.2.0
++ xs_watch@Base 3.2.0
++ xs_write@Base 3.2.0
++ xs_write_all@Base 3.2.0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fe223816f63fbddc8a0c84fb8762e7657c5caf97
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,59 @@@
++From 1cb31904e7ff1e56db0996c91b05d3771cf55d6e Mon Sep 17 00:00:00 2001
++From: Julien Grall <julien.grall@citrix.com>
++Date: Thu, 29 Oct 2015 13:46:45 +0100
++Subject: arm: Support hypercall_create_continuation for multicall
++
++Multicall for ARM has been supported since commit f0dbdc6 "xen: arm: fully
++implement multicall interface.". Although, if an hypercall in multicall
++requires preemption, it will crash the host:
++
++(XEN) Xen BUG at domain.c:347
++(XEN) ----[ Xen-4.7-unstable  arm64  debug=y  Tainted:    C ]----
++[...]
++(XEN) Xen call trace:
++(XEN)    [<00000000002420cc>] hypercall_create_continuation+0x64/0x380 (PC)
++(XEN)    [<0000000000217274>] do_memory_op+0x1b00/0x2334 (LR)
++(XEN)    [<0000000000250d2c>] do_multicall_call+0x114/0x124
++(XEN)    [<0000000000217ff0>] do_multicall+0x17c/0x23c
++(XEN)    [<000000000024f97c>] do_trap_hypercall+0x90/0x12c
++(XEN)    [<0000000000251ca8>] do_trap_hypervisor+0xd2c/0x1ba4
++(XEN)    [<00000000002582cc>] guest_sync+0x88/0xb8
++(XEN)
++(XEN)
++(XEN) ****************************************
++(XEN) Panic on CPU 5:
++(XEN) Xen BUG at domain.c:347
++(XEN) ****************************************
++(XEN)
++(XEN) Manual reset required ('noreboot' specified)
++
++Looking to the code, the support of multicall looks valid to me, as we only
++need to fill call.args[...]. So drop the BUG();
++
++This is CVE-2015-7812 / XSA-145.
++
++Signed-off-by: Julien Grall <julien.grall@citrix.com>
++Acked-by: Ian Campbell <ian.campbell@citrix.com>
++master commit: 29bcf64ce8bc0b1b7aacd00c8668f255c4f0686c
++master date: 2015-10-29 13:31:10 +0100
++
++(cherry picked from commit ea95ecb8bf30f83b52a079cdfc824a3ba6ffd4ef)
++
++Patch-Name: CVE-2015-7812.diff
++---
++ xen/arch/arm/domain.c | 2 --
++ 1 file changed, 2 deletions(-)
++
++diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
++index b2bfc7d..b9a4226 100644
++--- a/xen/arch/arm/domain.c
+++++ b/xen/arch/arm/domain.c
++@@ -344,8 +344,6 @@ unsigned long hypercall_create_continuation(
++ 
++     if ( test_bit(_MCSF_in_multicall, &mcs->flags) )
++     {
++-        BUG(); /* XXX multicalls not implemented yet. */
++-
++         __set_bit(_MCSF_call_preempted, &mcs->flags);
++ 
++         for ( i = 0; *p != '\0'; i++ )
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..24246b6dd7742dbf7b62ce88a56b5308c595a6e5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,55 @@@
++From a04e7be8a95c45ebbbb21dedbc27d54debd0dd1a Mon Sep 17 00:00:00 2001
++From: Ian Campbell <ian.campbell@citrix.com>
++Date: Thu, 29 Oct 2015 13:47:10 +0100
++Subject: arm: rate-limit logging from unimplemented PHYSDEVOP and HVMOP.
++
++These are guest accessible and should therefore be rate-limited.
++Moreover, include them only in debug builds.
++
++This is CVE-2015-7813 / XSA-146.
++
++Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
++Reviewed-by: Jan Beulich <jbeulich@suse.com>
++master commit: 1c0e59ff15764e7b0c59282365974f5b8924ce83
++master date: 2015-10-29 13:33:38 +0100
++
++(cherry picked from commit b18d995ca341d07a38fec04aa137e9ef85ee4dd0)
++
++Patch-Name: CVE-2015-7813.diff
++---
++ xen/arch/arm/hvm.c     | 2 +-
++ xen/arch/arm/physdev.c | 3 ++-
++ 2 files changed, 3 insertions(+), 2 deletions(-)
++
++diff --git a/xen/arch/arm/hvm.c b/xen/arch/arm/hvm.c
++index 471c4cd..5fd0753 100644
++--- a/xen/arch/arm/hvm.c
+++++ b/xen/arch/arm/hvm.c
++@@ -57,7 +57,7 @@ long do_hvm_op(unsigned long op, XEN_GUEST_HANDLE_PARAM(void) arg)
++ 
++     default:
++     {
++-        printk("%s: Bad HVM op %ld.\n", __func__, op);
+++        gdprintk(XENLOG_DEBUG, "HVMOP op=%lu: not implemented\n", op);
++         rc = -ENOSYS;
++         break;
++     }
++diff --git a/xen/arch/arm/physdev.c b/xen/arch/arm/physdev.c
++index 61b4a18..27bbbda 100644
++--- a/xen/arch/arm/physdev.c
+++++ b/xen/arch/arm/physdev.c
++@@ -8,12 +8,13 @@
++ #include <xen/types.h>
++ #include <xen/lib.h>
++ #include <xen/errno.h>
+++#include <xen/sched.h>
++ #include <asm/hypercall.h>
++ 
++ 
++ int do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
++ {
++-    printk("%s %d cmd=%d: not implemented yet\n", __func__, __LINE__, cmd);
+++    gdprintk(XENLOG_DEBUG, "PHYSDEVOP cmd=%d: not implemented\n", cmd);
++     return -ENOSYS;
++ }
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..21f22d068c1755b07b4f1c3b4dd68c8c5d8c063b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,50 @@@
++From be3a93a1970b7e753cc9736d7c3e795fd8846b2b Mon Sep 17 00:00:00 2001
++From: Ian Campbell <ian.campbell@citrix.com>
++Date: Thu, 29 Oct 2015 13:47:38 +0100
++Subject: arm: handle races between relinquish_memory and free_domheap_pages
++
++Primarily this means XENMEM_decrease_reservation from a toolstack
++domain.
++
++Unlike x86 we have no requirement right now to queue such pages onto
++a separate list, if we hit this race then the other code has already
++fully accepted responsibility for freeing this page and therefore
++there is no more for relinquish_memory to do.
++
++This is CVE-2015-7814 / XSA-147.
++
++Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
++Reviewed-by: Julien Grall <julien.grall@citrix.com>
++Reviewed-by: Jan Beulich <jbeulich@suse.com>
++master commit: 1ef01396fdff88b1c3331a09ca5c69619b90f4ea
++master date: 2015-10-29 13:34:17 +0100
++
++(cherry picked from commit df6fa370865717ee51530c0102d1e983a70d37c3)
++
++Patch-Name: CVE-2015-7814.diff
++---
++ xen/arch/arm/domain.c | 11 +++++++++--
++ 1 file changed, 9 insertions(+), 2 deletions(-)
++
++diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
++index b9a4226..20cc772 100644
++--- a/xen/arch/arm/domain.c
+++++ b/xen/arch/arm/domain.c
++@@ -768,8 +768,15 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list)
++     {
++         /* Grab a reference to the page so it won't disappear from under us. */
++         if ( unlikely(!get_page(page, d)) )
++-            /* Couldn't get a reference -- someone is freeing this page. */
++-            BUG();
+++            /*
+++             * Couldn't get a reference -- someone is freeing this page and
+++             * has already committed to doing so, so no more to do here.
+++             *
+++             * Note that the page must be left on the list, a list_del
+++             * here will clash with the list_del done by the other
+++             * party in the race and corrupt the list head.
+++             */
+++            continue;
++ 
++         if ( test_and_clear_bit(_PGC_allocated, &page->count_info) )
++             put_page(page);
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..106f79b37cf0681ae9405ddb89ae6166b81a32d9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,57 @@@
++From e7a7fad12aef53df7e8c1188fec3644deb04da95 Mon Sep 17 00:00:00 2001
++From: Jan Beulich <jbeulich@suse.com>
++Date: Thu, 29 Oct 2015 13:48:09 +0100
++Subject: x86: guard against undue super page PTE creation
++MIME-Version: 1.0
++Content-Type: text/plain; charset=UTF-8
++Content-Transfer-Encoding: 8bit
++
++When optional super page support got added (commit bd1cd81d64 "x86: PV
++support for hugepages"), two adjustments were missed: mod_l2_entry()
++needs to consider the PSE and RW bits when deciding whether to use the
++fast path, and the PSE bit must not be removed from L2_DISALLOW_MASK
++unconditionally.
++
++This is CVE-2015-7835 / XSA-148.
++
++Reported-by: "栾尚聪(好风)" <shangcong.lsc@alibaba-inc.com>
++Signed-off-by: Jan Beulich <jbeulich@suse.com>
++Reviewed-by: Tim Deegan <tim@xen.org>
++master commit: fe360c90ea13f309ef78810f1a2b92f2ae3b30b8
++master date: 2015-10-29 13:35:07 +0100
++
++(cherry picked from commit 2d094bd87072e26ac29b07917d31fcbf13892288)
++
++Patch-Name: CVE-2015-7835.diff
++---
++ xen/arch/x86/mm.c | 10 ++++++++--
++ 1 file changed, 8 insertions(+), 2 deletions(-)
++
++diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
++index 202ff76..fc65982 100644
++--- a/xen/arch/x86/mm.c
+++++ b/xen/arch/x86/mm.c
++@@ -160,7 +160,10 @@ static void put_superpage(unsigned long mfn);
++ static uint32_t base_disallow_mask;
++ /* Global bit is allowed to be set on L1 PTEs. Intended for user mappings. */
++ #define L1_DISALLOW_MASK ((base_disallow_mask | _PAGE_GNTTAB) & ~_PAGE_GLOBAL)
++-#define L2_DISALLOW_MASK (base_disallow_mask & ~_PAGE_PSE)
+++
+++#define L2_DISALLOW_MASK (unlikely(opt_allow_superpage) \
+++                          ? base_disallow_mask & ~_PAGE_PSE \
+++                          : base_disallow_mask)
++ 
++ #define l3_disallow_mask(d) (!is_pv_32bit_domain(d) ? \
++                              base_disallow_mask : 0xFFFFF198U)
++@@ -1839,7 +1842,10 @@ static int mod_l2_entry(l2_pgentry_t *pl2e,
++         }
++ 
++         /* Fast path for identical mapping and presence. */
++-        if ( !l2e_has_changed(ol2e, nl2e, _PAGE_PRESENT) )
+++        if ( !l2e_has_changed(ol2e, nl2e,
+++                              unlikely(opt_allow_superpage)
+++                              ? _PAGE_PSE | _PAGE_RW | _PAGE_PRESENT
+++                              : _PAGE_PRESENT) )
++         {
++             adjust_guest_l2e(nl2e, d);
++             if ( UPDATE_ENTRY(l2, pl2e, ol2e, nl2e, pfn, vcpu, preserve_ad) )
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5945fc161a6897058f98e354ccde5bbe2777dca2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,42 @@@
++From a0b5a0f9489298581a06a5bc183777cee3a408af Mon Sep 17 00:00:00 2001
++From: Jan Beulich <jbeulich@suse.com>
++Date: Thu, 29 Oct 2015 13:51:24 +0100
++Subject: xenoprof: free domain's vcpu array
++
++This was overlooked in fb442e2171 ("x86_64: allow more vCPU-s per
++guest").
++
++This is CVE-2015-7969 / XSA-151.
++
++Signed-off-by: Jan Beulich <jbeulich@suse.com>
++Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
++master commit: 6e97c4b37386c2d09e09e9b5d5d232e37728b960
++master date: 2015-10-29 13:36:52 +0100
++
++(cherry picked from commit 429f0cd270851462783fc6d56d6bae9cbb40bdca)
++
++Patch-Name: CVE-2015-7969.1.diff
++---
++ xen/common/xenoprof.c | 2 ++
++ 1 file changed, 2 insertions(+)
++
++diff --git a/xen/common/xenoprof.c b/xen/common/xenoprof.c
++index 1061323..53a803a 100644
++--- a/xen/common/xenoprof.c
+++++ b/xen/common/xenoprof.c
++@@ -239,6 +239,7 @@ static int alloc_xenoprof_struct(
++     d->xenoprof->rawbuf = alloc_xenheap_pages(get_order_from_pages(npages), 0);
++     if ( d->xenoprof->rawbuf == NULL )
++     {
+++        xfree(d->xenoprof->vcpu);
++         xfree(d->xenoprof);
++         d->xenoprof = NULL;
++         return -ENOMEM;
++@@ -286,6 +287,7 @@ void free_xenoprof_pages(struct domain *d)
++         free_xenheap_pages(x->rawbuf, order);
++     }
++ 
+++    xfree(x->vcpu);
++     xfree(x);
++     d->xenoprof = NULL;
++ }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..59af12b4e33271b23af7ee2237b2e6d6cdf16e60
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,35 @@@
++From 3013fbfe54dd378d88c01f8056a6c043208bf6d3 Mon Sep 17 00:00:00 2001
++From: Jan Beulich <jbeulich@suse.com>
++Date: Thu, 29 Oct 2015 13:49:56 +0100
++Subject: free domain's vcpu array
++
++This was overlooked in fb442e2171 ("x86_64: allow more vCPU-s per
++guest").
++
++This is CVE-2015-7969 / XSA-149.
++
++Reported-by: Ian Campbell <ian.campbell@citrix.com>
++Signed-off-by: Jan Beulich <jbeulich@suse.com>
++Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
++master commit: d46896ebbb23f3a9fef2eb6066ae614fd1acfd96
++master date: 2015-10-29 13:35:40 +0100
++
++(cherry picked from commit 2c57108c36eaa10885b7d0daad534348717e4f9d)
++
++Patch-Name: CVE-2015-7969.diff
++---
++ xen/common/domain.c | 1 +
++ 1 file changed, 1 insertion(+)
++
++diff --git a/xen/common/domain.c b/xen/common/domain.c
++index 1b9fcfc..796c492 100644
++--- a/xen/common/domain.c
+++++ b/xen/common/domain.c
++@@ -833,6 +833,7 @@ static void complete_domain_destroy(struct rcu_head *head)
++ 
++     xsm_free_security_domain(d);
++     free_cpumask_var(d->domain_dirty_cpumask);
+++    xfree(d->vcpu);
++     free_domain_struct(d);
++ 
++     send_global_virq(VIRQ_DOM_EXC);
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c488b30ae5348002ba7a2e269a26adbc8c8f7515
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,221 @@@
++From 8f0e5e821940d5079eba34595bc897ac6b9ccd5c Mon Sep 17 00:00:00 2001
++From: Andrew Cooper <andrew.cooper3@citrix.com>
++Date: Thu, 29 Oct 2015 13:50:59 +0100
++Subject: x86/PoD: Eager sweep for zeroed pages
++
++Based on the contents of a guests physical address space,
++p2m_pod_emergency_sweep() could degrade into a linear memcmp() from 0 to
++max_gfn, which runs non-preemptibly.
++
++As p2m_pod_emergency_sweep() runs behind the scenes in a number of contexts,
++making it preemptible is not feasible.
++
++Instead, a different approach is taken.  Recently-populated pages are eagerly
++checked for reclaimation, which amortises the p2m_pod_emergency_sweep()
++operation across each p2m_pod_demand_populate() operation.
++
++Note that in the case that a 2M superpage can't be reclaimed as a superpage,
++it is shattered if 4K pages of zeros can be reclaimed.  This is unfortunate
++but matches the previous behaviour, and is required to avoid regressions
++(domain crash from PoD exhaustion) with VMs configured close to the limit.
++
++This is CVE-2015-7970 / XSA-150.
++
++Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
++Reviewed-by: Jan Beulich <jbeulich@suse.com>
++Reviewed-by: George Dunlap <george.dunlap@citrix.com>
++master commit: 101ce53266866144e724ed593173bc4098b300b9
++master date: 2015-10-29 13:36:25 +0100
++
++(cherry picked from commit 4a32fbd95af6503ea1314ff2aa9a0b0a473d46c0)
++
++Patch-Name: CVE-2015-7970.diff
++---
++ xen/arch/x86/mm/p2m-pod.c | 86 +++++++++++++++++++++++++++++++----------------
++ xen/arch/x86/mm/p2m.c     |  4 +++
++ xen/include/asm-x86/p2m.h | 18 +++++++---
++ 3 files changed, 75 insertions(+), 33 deletions(-)
++
++diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c
++index 8156525..9196a5d 100644
++--- a/xen/arch/x86/mm/p2m-pod.c
+++++ b/xen/arch/x86/mm/p2m-pod.c
++@@ -901,28 +901,6 @@ p2m_pod_zero_check(struct p2m_domain *p2m, unsigned long *gfns, int count)
++ }
++ 
++ #define POD_SWEEP_LIMIT 1024
++-
++-/* When populating a new superpage, look at recently populated superpages
++- * hoping that they've been zeroed.  This will snap up zeroed pages as soon as 
++- * the guest OS is done with them. */
++-static void
++-p2m_pod_check_last_super(struct p2m_domain *p2m, unsigned long gfn_aligned)
++-{
++-    unsigned long check_gfn;
++-
++-    ASSERT(p2m->pod.last_populated_index < POD_HISTORY_MAX);
++-
++-    check_gfn = p2m->pod.last_populated[p2m->pod.last_populated_index];
++-
++-    p2m->pod.last_populated[p2m->pod.last_populated_index] = gfn_aligned;
++-
++-    p2m->pod.last_populated_index =
++-        ( p2m->pod.last_populated_index + 1 ) % POD_HISTORY_MAX;
++-
++-    p2m_pod_zero_check_superpage(p2m, check_gfn);
++-}
++-
++-
++ #define POD_SWEEP_STRIDE  16
++ static void
++ p2m_pod_emergency_sweep(struct p2m_domain *p2m)
++@@ -963,7 +941,7 @@ p2m_pod_emergency_sweep(struct p2m_domain *p2m)
++          * NB that this is a zero-sum game; we're increasing our cache size
++          * by re-increasing our 'debt'.  Since we hold the pod lock,
++          * (entry_count - count) must remain the same. */
++-        if ( p2m->pod.count > 0 && i < limit )
+++        if ( i < limit && (p2m->pod.count > 0 || hypercall_preempt_check()) )
++             break;
++     }
++ 
++@@ -975,6 +953,58 @@ p2m_pod_emergency_sweep(struct p2m_domain *p2m)
++ 
++ }
++ 
+++static void pod_eager_reclaim(struct p2m_domain *p2m)
+++{
+++    struct pod_mrp_list *mrp = &p2m->pod.mrp;
+++    unsigned int i = 0;
+++
+++    /*
+++     * Always check one page for reclaimation.
+++     *
+++     * If the PoD pool is empty, keep checking some space is found, or all
+++     * entries have been exhaused.
+++     */
+++    do
+++    {
+++        unsigned int idx = (mrp->idx + i++) % ARRAY_SIZE(mrp->list);
+++        unsigned long gfn = mrp->list[idx];
+++
+++        if ( gfn != INVALID_GFN )
+++        {
+++            if ( gfn & POD_LAST_SUPERPAGE )
+++            {
+++                gfn &= ~POD_LAST_SUPERPAGE;
+++
+++                if ( p2m_pod_zero_check_superpage(p2m, gfn) == 0 )
+++                {
+++                    unsigned int x;
+++
+++                    for ( x = 0; x < SUPERPAGE_PAGES; ++x, ++gfn )
+++                        p2m_pod_zero_check(p2m, &gfn, 1);
+++                }
+++            }
+++            else
+++                p2m_pod_zero_check(p2m, &gfn, 1);
+++
+++            mrp->list[idx] = INVALID_GFN;
+++        }
+++
+++    } while ( (p2m->pod.count == 0) && (i < ARRAY_SIZE(mrp->list)) );
+++}
+++
+++static void pod_eager_record(struct p2m_domain *p2m,
+++                             unsigned long gfn, unsigned int order)
+++{
+++    struct pod_mrp_list *mrp = &p2m->pod.mrp;
+++
+++    ASSERT(mrp->list[mrp->idx] == INVALID_GFN);
+++    ASSERT(gfn != INVALID_GFN);
+++
+++    mrp->list[mrp->idx++] =
+++        gfn | (order == PAGE_ORDER_2M ? POD_LAST_SUPERPAGE : 0);
+++    mrp->idx %= ARRAY_SIZE(mrp->list);
+++}
+++
++ int
++ p2m_pod_demand_populate(struct p2m_domain *p2m, unsigned long gfn,
++                         unsigned int order,
++@@ -1015,6 +1045,8 @@ p2m_pod_demand_populate(struct p2m_domain *p2m, unsigned long gfn,
++         return 0;
++     }
++ 
+++    pod_eager_reclaim(p2m);
+++
++     /* Only sweep if we're actually out of memory.  Doing anything else
++      * causes unnecessary time and fragmentation of superpages in the p2m. */
++     if ( p2m->pod.count == 0 )
++@@ -1051,6 +1083,8 @@ p2m_pod_demand_populate(struct p2m_domain *p2m, unsigned long gfn,
++     p2m->pod.entry_count -= (1 << order);
++     BUG_ON(p2m->pod.entry_count < 0);
++ 
+++    pod_eager_record(p2m, gfn_aligned, order);
+++
++     if ( tb_init_done )
++     {
++         struct {
++@@ -1066,12 +1100,6 @@ p2m_pod_demand_populate(struct p2m_domain *p2m, unsigned long gfn,
++         __trace_var(TRC_MEM_POD_POPULATE, 0, sizeof(t), &t);
++     }
++ 
++-    /* Check the last guest demand-populate */
++-    if ( p2m->pod.entry_count > p2m->pod.count 
++-         && (order == PAGE_ORDER_2M)
++-         && (q & P2M_ALLOC) )
++-        p2m_pod_check_last_super(p2m, gfn_aligned);
++-
++     pod_unlock(p2m);
++     return 0;
++ out_of_memory:
++diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
++index c6b883d..cbe3f24 100644
++--- a/xen/arch/x86/mm/p2m.c
+++++ b/xen/arch/x86/mm/p2m.c
++@@ -60,6 +60,7 @@ boolean_param("hap_2mb", opt_hap_2mb);
++ /* Init the datastructures for later use by the p2m code */
++ static int p2m_initialise(struct domain *d, struct p2m_domain *p2m)
++ {
+++    unsigned int i;
++     int ret = 0;
++ 
++     mm_rwlock_init(&p2m->lock);
++@@ -75,6 +76,9 @@ static int p2m_initialise(struct domain *d, struct p2m_domain *p2m)
++ 
++     p2m->np2m_base = P2M_BASE_EADDR;
++ 
+++    for ( i = 0; i < ARRAY_SIZE(p2m->pod.mrp.list); ++i )
+++        p2m->pod.mrp.list[i] = INVALID_GFN;
+++
++     if ( hap_enabled(d) && cpu_has_vmx )
++         ret = ept_p2m_init(p2m);
++     else
++diff --git a/xen/include/asm-x86/p2m.h b/xen/include/asm-x86/p2m.h
++index 5e99ac6..e91a875 100644
++--- a/xen/include/asm-x86/p2m.h
+++++ b/xen/include/asm-x86/p2m.h
++@@ -292,10 +292,20 @@ struct p2m_domain {
++                          entry_count;  /* # of pages in p2m marked pod      */
++         unsigned long    reclaim_single; /* Last gpfn of a scan */
++         unsigned long    max_guest;    /* gpfn of max guest demand-populate */
++-#define POD_HISTORY_MAX 128
++-        /* gpfn of last guest superpage demand-populated */
++-        unsigned long    last_populated[POD_HISTORY_MAX]; 
++-        unsigned int     last_populated_index;
+++
+++        /*
+++         * Tracking of the most recently populated PoD pages, for eager
+++         * reclamation.
+++         */
+++        struct pod_mrp_list {
+++#define NR_POD_MRP_ENTRIES 32
+++
+++/* Encode ORDER_2M superpage in top bit of GFN */
+++#define POD_LAST_SUPERPAGE (INVALID_GFN & ~(INVALID_GFN >> 1))
+++
+++            unsigned long list[NR_POD_MRP_ENTRIES];
+++            unsigned int idx;
+++        } mrp;
++         mm_lock_t        lock;         /* Locking of private pod structs,   *
++                                         * not relying on the p2m lock.      */
++     } pod;
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1a681f003ac6fabb9e9f4cf397891f3b4637a8fe
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,83 @@@
++From d954b6092311355c95af67d981bdd2491b3df66e Mon Sep 17 00:00:00 2001
++From: Jan Beulich <jbeulich@suse.com>
++Date: Thu, 29 Oct 2015 13:52:02 +0100
++Subject: x86: rate-limit logging in do_xen{oprof,pmu}_op()
++
++Some of the sub-ops are acessible to all guests, and hence should be
++rate-limited. In the xenoprof case, just like for XSA-146, include them
++only in debug builds. Since the vPMU code is rather new, allow them to
++be always present, but downgrade them to (rate limited) guest messages.
++
++This is CVE-2015-7971 / XSA-152.
++
++Signed-off-by: Jan Beulich <jbeulich@suse.com>
++Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
++master commit: 95e7415843b94c346e5ba8682665f508f220e04b
++master date: 2015-10-29 13:37:19 +0100
++
++(cherry picked from commit bdc9fdf9d468cb94ca0fbed1b969c20bf173dc9b)
++
++Patch-Name: CVE-2015-7971.diff
++---
++ xen/arch/x86/cpu/vpmu.c | 8 ++++----
++ xen/common/xenoprof.c   | 9 +++------
++ 2 files changed, 7 insertions(+), 10 deletions(-)
++
++diff --git a/xen/arch/x86/cpu/vpmu.c b/xen/arch/x86/cpu/vpmu.c
++index 8af3df1..2f5156a 100644
++--- a/xen/arch/x86/cpu/vpmu.c
+++++ b/xen/arch/x86/cpu/vpmu.c
++@@ -682,8 +682,8 @@ long do_xenpmu_op(unsigned int op, XEN_GUEST_HANDLE_PARAM(xen_pmu_params_t) arg)
++             vpmu_mode = pmu_params.val;
++         else if ( vpmu_mode != pmu_params.val )
++         {
++-            printk(XENLOG_WARNING
++-                   "VPMU: Cannot change mode while active VPMUs exist\n");
+++            gprintk(XENLOG_WARNING,
+++                    "VPMU: Cannot change mode while active VPMUs exist\n");
++             ret = -EBUSY;
++         }
++ 
++@@ -714,8 +714,8 @@ long do_xenpmu_op(unsigned int op, XEN_GUEST_HANDLE_PARAM(xen_pmu_params_t) arg)
++             vpmu_features = pmu_params.val;
++         else
++         {
++-            printk(XENLOG_WARNING "VPMU: Cannot change features while"
++-                                  " active VPMUs exist\n");
+++            gprintk(XENLOG_WARNING,
+++                    "VPMU: Cannot change features while active VPMUs exist\n");
++             ret = -EBUSY;
++         }
++ 
++diff --git a/xen/common/xenoprof.c b/xen/common/xenoprof.c
++index 53a803a..19b4605 100644
++--- a/xen/common/xenoprof.c
+++++ b/xen/common/xenoprof.c
++@@ -676,15 +676,13 @@ ret_t do_xenoprof_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
++     
++     if ( (op < 0) || (op > XENOPROF_last_op) )
++     {
++-        printk("xenoprof: invalid operation %d for domain %d\n",
++-               op, current->domain->domain_id);
+++        gdprintk(XENLOG_DEBUG, "invalid operation %d\n", op);
++         return -EINVAL;
++     }
++ 
++     if ( !NONPRIV_OP(op) && (current->domain != xenoprof_primary_profiler) )
++     {
++-        printk("xenoprof: dom %d denied privileged operation %d\n",
++-               current->domain->domain_id, op);
+++        gdprintk(XENLOG_DEBUG, "denied privileged operation %d\n", op);
++         return -EPERM;
++     }
++ 
++@@ -907,8 +905,7 @@ ret_t do_xenoprof_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
++     spin_unlock(&xenoprof_lock);
++ 
++     if ( ret < 0 )
++-        printk("xenoprof: operation %d failed for dom %d (status : %d)\n",
++-               op, current->domain->domain_id, ret);
+++        gdprintk(XENLOG_DEBUG, "operation %d failed: %d\n", op, ret);
++ 
++     return ret;
++ }
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a2a8587c16d88e6a67091962f33166a9470a76b6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,86 @@@
++From bfef8af1dbdd3e12537a7379f057b35d006e0145 Mon Sep 17 00:00:00 2001
++From: Ian Jackson <ian.jackson@eu.citrix.com>
++Date: Wed, 21 Oct 2015 16:18:30 +0100
++Subject: libxl: adjust PoD target by memory fudge, too
++
++PoD guests need to balloon at least as far as required by PoD, or risk
++crashing.  Currently they don't necessarily know what the right value
++is, because our memory accounting is (at the very least) confusing.
++
++Apply the memory limit fudge factor to the in-hypervisor PoD memory
++target, too.  This will increase the size of the guest's PoD cache by
++the fudge factor LIBXL_MAXMEM_CONSTANT (currently 1Mby).  This ensures
++that even with a slightly-off balloon driver, the guest will be
++stable even under memory pressure.
++
++There are two call sites of xc_domain_set_pod_target that need fixing:
++
++The one in libxl_set_memory_target is straightforward.
++
++The one in xc_hvm_build_x86.c:setup_guest is more awkward.  Simply
++setting the PoD target differently does not work because the various
++amounts of memory during domain construction no longer match up.
++Instead, we adjust the guest memory target in xenstore (but only for
++PoD guests).
++
++This introduces a 1Mby discrepancy between the balloon target of a PoD
++guest at boot, and the target set by an apparently-equivalent `xl
++mem-set' (or similar) later.  This approach is low-risk for a security
++fix but we need to fix this up properly in xen.git#staging and
++probably also in stable trees.
++
++This is XSA-153.
++
++Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
++(cherry picked from commit 56fb5fd62320eb40a7517206f9706aa9188d6f7b)
++
++Patch-Name: CVE-2015-7972.diff
++---
++ tools/libxl/libxl.c     | 2 +-
++ tools/libxl/libxl_dom.c | 9 ++++++++-
++ 2 files changed, 9 insertions(+), 2 deletions(-)
++
++diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c
++index d38d0c7..1366177 100644
++--- a/tools/libxl/libxl.c
+++++ b/tools/libxl/libxl.c
++@@ -4815,7 +4815,7 @@ retry_transaction:
++     }
++ 
++     rc = xc_domain_set_pod_target(ctx->xch, domid,
++-            new_target_memkb / 4, NULL, NULL, NULL);
+++            (new_target_memkb + LIBXL_MAXMEM_CONSTANT) / 4, NULL, NULL, NULL);
++     if (rc != 0) {
++         LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR,
++                 "xc_domain_set_pod_target domid=%d, memkb=%d "
++diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
++index b514377..8019f4e 100644
++--- a/tools/libxl/libxl_dom.c
+++++ b/tools/libxl/libxl_dom.c
++@@ -486,6 +486,7 @@ int libxl__build_post(libxl__gc *gc, uint32_t domid,
++     xs_transaction_t t;
++     char **ents;
++     int i, rc;
+++    int64_t mem_target_fudge;
++ 
++     if (info->num_vnuma_nodes && !info->num_vcpu_soft_affinity) {
++         rc = set_vnuma_affinity(gc, domid, info);
++@@ -518,11 +519,17 @@ int libxl__build_post(libxl__gc *gc, uint32_t domid,
++         }
++     }
++ 
+++    mem_target_fudge =
+++        (info->type == LIBXL_DOMAIN_TYPE_HVM &&
+++         info->max_memkb > info->target_memkb)
+++        ? LIBXL_MAXMEM_CONSTANT : 0;
+++
++     ents = libxl__calloc(gc, 12 + (info->max_vcpus * 2) + 2, sizeof(char *));
++     ents[0] = "memory/static-max";
++     ents[1] = GCSPRINTF("%"PRId64, info->max_memkb);
++     ents[2] = "memory/target";
++-    ents[3] = GCSPRINTF("%"PRId64, info->target_memkb - info->video_memkb);
+++    ents[3] = GCSPRINTF("%"PRId64, info->target_memkb - info->video_memkb
+++                        - mem_target_fudge);
++     ents[4] = "memory/videoram";
++     ents[5] = GCSPRINTF("%"PRId64, info->video_memkb);
++     ents[6] = "domid";
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..88ac3961f1cb6ecb8da70d0abddfc19b4c13a84a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,36 @@@
++From 31f71ac1ceed8aa294479cd74c17524300a3b84e Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:45 +0200
++Subject: config-prefix.diff
++
++Patch-Name: config-prefix.diff
++---
++ Config.mk          | 2 +-
++ config/Paths.mk.in | 1 +
++ 2 files changed, 2 insertions(+), 1 deletion(-)
++
++diff --git a/Config.mk b/Config.mk
++index 54fbb9d..675bc18 100644
++--- a/Config.mk
+++++ b/Config.mk
++@@ -75,7 +75,7 @@ EXTRA_LIB += $(EXTRA_PREFIX)/lib
++ endif
++ 
++ PYTHON      ?= python
++-PYTHON_PREFIX_ARG ?= --prefix="$(prefix)"
+++PYTHON_PREFIX_ARG ?= --home="$(LIBEXEC)"
++ # The above requires that prefix contains *no spaces*. This variable is here
++ # to permit the user to set PYTHON_PREFIX_ARG to '' to workaround this bug:
++ #  https://bugs.launchpad.net/ubuntu/+bug/362570
++diff --git a/config/Paths.mk.in b/config/Paths.mk.in
++index 1c7afb4..848d243 100644
++--- a/config/Paths.mk.in
+++++ b/config/Paths.mk.in
++@@ -13,6 +13,7 @@
++ # http://wiki.xen.org/wiki/Category:Host_Configuration#System_wide_xen_configuration
++ 
++ PACKAGE_TARNAME          := @PACKAGE_TARNAME@
+++PACKAGE_VERSION          := @PACKAGE_VERSION@
++ prefix                   := @prefix@
++ bindir                   := @bindir@
++ sbindir                  := @sbindir@
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3af3d7741f98d6b6f070c7392c75d0a6b4768b2f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,35 @@@
++version.diff
++tools-allow-configure-time-choice-of-libexec-subdire.patch
++config-prefix.diff
++tools-libfsimage-abiname.diff
++tools-libxc-abiname.diff
++tools-libxl-abiname.diff
++tools-xenstat-abiname.diff
++tools-rpath.diff
++tools-blktap2-prefix.diff
++tools-console-prefix.diff
++tools-libfsimage-prefix.diff
++tools-libxl-prefix.diff
++tools-misc-prefix.diff
++tools-pygrub-prefix.diff
++tools-python-prefix.diff
++tools-xcutils-rpath.diff
++tools-xenmon-prefix.diff
++tools-xenpaging-prefix.diff
++tools-xenpmd-prefix.diff
++tools-xenstat-prefix.diff
++tools-xenstore-prefix.diff
++tools-xentrace-prefix.diff
++tools-pygrub-remove-static-solaris-support
++tools-include-install.diff
++tools-xenmon-install.diff
++tools-xenstore-compatibility.diff
++CVE-2015-7812.diff
++CVE-2015-7813.diff
++CVE-2015-7814.diff
++CVE-2015-7835.diff
++CVE-2015-7969.diff
++CVE-2015-7970.diff
++CVE-2015-7969.1.diff
++CVE-2015-7971.diff
++CVE-2015-7972.diff
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a2a73144ed34d8559dd66d613f7e8551b124be76
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,233 @@@
++From 493bf6ef4a8669b2dc53d7603de544135ad81b33 Mon Sep 17 00:00:00 2001
++From: Ian Campbell <ian.campbell@citrix.com>
++Date: Wed, 16 Dec 2015 15:06:35 +0000
++Subject: tools: allow configure time choice of libexec subdirectory.
++
++Currently we hardcode various paths such as $libexec/xen/{bin,boot},
++however some downstreams (notably Debian) would like instead to
++install things into $libexec/xen-X.Y/{bin,boot} as part of allowing
++multiple versions of the tools packages to be installed.
++
++Since this currently involves patching configure its a bit fiddly,
++provide a configure option for the leaf dir instead, name it
++--with-libexec-leaf-dir similar to the existing
++--with-sysconfig-leaf-dir.
++
++Rather than have the determination of the full path in both configure
++and config/Paths.mk.in move it into configure only. Also for
++consistency move the other LIBEXEC_* to configure, even though they
++are only substituted into Paths.mk.
++
++Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
++Reviewed-by: Doug Goldstein <cardoe@cardoe.com>
++Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
++Cc: 805508@bugs.debian.org
++[ ijc -- removed stray ` ]
++
++(cherry picked from commit de858271c16851d662b2613699401df6ecec8ef8)
++
++Patch-Name: tools-allow-configure-time-choice-of-libexec-subdire.patch
++---
++ config/Paths.mk.in |  6 +++---
++ configure          | 26 +++++++++++++++++++++++---
++ m4/paths.m4        | 24 ++++++++++++++++++------
++ tools/configure    | 26 +++++++++++++++++++++++---
++ 4 files changed, 67 insertions(+), 15 deletions(-)
++
++diff --git a/config/Paths.mk.in b/config/Paths.mk.in
++index d36504f..1c7afb4 100644
++--- a/config/Paths.mk.in
+++++ b/config/Paths.mk.in
++@@ -29,10 +29,10 @@ includedir               := @includedir@
++ localstatedir            := @localstatedir@
++ sysconfdir               := @sysconfdir@
++ 
++-LIBEXEC                  := $(libexecdir)/$(PACKAGE_TARNAME)
+++LIBEXEC                  := @LIBEXEC@
++ LIBEXEC_BIN              := @LIBEXEC_BIN@
++-LIBEXEC_LIB              := $(LIBEXEC)/lib
++-LIBEXEC_INC              := $(LIBEXEC)/include
+++LIBEXEC_LIB              := @LIBEXEC_LIB@
+++LIBEXEC_INC              := @LIBEXEC_INC@
++ 
++ SHAREDIR                 := @SHAREDIR@
++ MAN1DIR                  := $(mandir)/man1
++diff --git a/configure b/configure
++index 80b27d6..5af40d6 100755
++--- a/configure
+++++ b/configure
++@@ -606,7 +606,10 @@ XEN_LIB_STORED
++ XEN_LOG_DIR
++ XEN_RUN_DIR
++ XENFIRMWAREDIR
+++LIBEXEC_INC
+++LIBEXEC_LIB
++ LIBEXEC_BIN
+++LIBEXEC
++ CONFIG_LEAF_DIR
++ host_os
++ host_vendor
++@@ -659,6 +662,7 @@ ac_user_opts='
++ enable_option_checking
++ with_initddir
++ with_sysconfig_leaf_dir
+++with_libexec_leaf_dir
++ with_xen_dumpdir
++ enable_xen
++ enable_tools
++@@ -1299,6 +1303,8 @@ Optional Packages:
++                           options for runlevel scripts and daemons such as
++                           xenstored. This should be either "sysconfig" or
++                           "default". [sysconfig]
+++  --with-libexec-leaf-dir=SUBDIR
+++                          Name of subdirectory in libexecdir to use.
++   --with-xen-dumpdir=DIR  Path to directory for domU crash dumps.
++                           [LOCALSTATEDIR/lib/xen/dump]
++ 
++@@ -1924,6 +1930,15 @@ CONFIG_LEAF_DIR=$config_leaf_dir
++ 
++ 
++ 
+++# Check whether --with-libexec-leaf-dir was given.
+++if test "${with_libexec_leaf_dir+set}" = set; then :
+++  withval=$with_libexec_leaf_dir; libexec_subdir=$withval
+++else
+++  libexec_subdir=$PACKAGE_TARNAME
+++fi
+++
+++
+++
++ # Check whether --with-xen-dumpdir was given.
++ if test "${with_xen_dumpdir+set}" = set; then :
++   withval=$with_xen_dumpdir; xen_dumpdir_path=$withval
++@@ -1940,11 +1955,16 @@ if test "$libexecdir" = '${exec_prefix}/libexec' ; then
++          ;;
++     esac
++ fi
++-libexecdir=`eval echo $libexecdir`
++-LIBEXEC_BIN=`eval echo $libexecdir/$PACKAGE_TARNAME/bin`
+++LIBEXEC=`eval echo $libexecdir/$libexec_subdir`
+++
+++
+++LIBEXEC_BIN=${LIBEXEC}/bin
+++
+++LIBEXEC_LIB=${LIBEXEC}/lib
++ 
+++LIBEXEC_INC=${LIBEXEC}/include
++ 
++-XENFIRMWAREDIR=`eval echo $libexecdir/$PACKAGE_TARNAME/boot`
+++XENFIRMWAREDIR=${LIBEXEC}/boot
++ 
++ 
++ XEN_RUN_DIR=$localstatedir/run/xen
++diff --git a/m4/paths.m4 b/m4/paths.m4
++index 63e0f6b..fa902bb 100644
++--- a/m4/paths.m4
+++++ b/m4/paths.m4
++@@ -62,6 +62,14 @@ AC_ARG_WITH([sysconfig-leaf-dir],
++ CONFIG_LEAF_DIR=$config_leaf_dir
++ AC_SUBST(CONFIG_LEAF_DIR)
++ 
+++dnl autoconf docs suggest to use a "package name" subdir. We make it
+++dnl configurable for the benefit of those who want e.g. xen-X.Y instead.
+++AC_ARG_WITH([libexec-leaf-dir],
+++    AS_HELP_STRING([--with-libexec-leaf-dir=SUBDIR],
+++    [Name of subdirectory in libexecdir to use.]),
+++    [libexec_subdir=$withval],
+++    [libexec_subdir=$PACKAGE_TARNAME])
+++
++ AC_ARG_WITH([xen-dumpdir],
++     AS_HELP_STRING([--with-xen-dumpdir=DIR],
++     [Path to directory for domU crash dumps. [LOCALSTATEDIR/lib/xen/dump]]),
++@@ -77,13 +85,17 @@ if test "$libexecdir" = '${exec_prefix}/libexec' ; then
++     esac
++ fi
++ dnl expand exec_prefix or it will endup in substituted variables
++-libexecdir=`eval echo $libexecdir`
++-dnl autoconf doc suggest to use a "package name" subdir
++-dnl This variable will be substituted in various .in files
++-LIBEXEC_BIN=`eval echo $libexecdir/$PACKAGE_TARNAME/bin`
++-AC_SUBST(LIBEXEC_BIN)
+++LIBEXEC=`eval echo $libexecdir/$libexec_subdir`
+++AC_SUBST(LIBEXEC)
++ 
++-XENFIRMWAREDIR=`eval echo $libexecdir/$PACKAGE_TARNAME/boot`
+++dnl These variables will be substituted in various .in files
+++LIBEXEC_BIN=${LIBEXEC}/bin
+++AC_SUBST(LIBEXEC_BIN)
+++LIBEXEC_LIB=${LIBEXEC}/lib
+++AC_SUBST(LIBEXEC_LIB)
+++LIBEXEC_INC=${LIBEXEC}/include
+++AC_SUBST(LIBEXEC_INC)
+++XENFIRMWAREDIR=${LIBEXEC}/boot
++ AC_SUBST(XENFIRMWAREDIR)
++ 
++ XEN_RUN_DIR=$localstatedir/run/xen
++diff --git a/tools/configure b/tools/configure
++index aa66876..c04b38a 100755
++--- a/tools/configure
+++++ b/tools/configure
++@@ -726,7 +726,10 @@ XEN_LIB_STORED
++ XEN_LOG_DIR
++ XEN_RUN_DIR
++ XENFIRMWAREDIR
+++LIBEXEC_INC
+++LIBEXEC_LIB
++ LIBEXEC_BIN
+++LIBEXEC
++ CONFIG_LEAF_DIR
++ FILE_OFFSET_BITS
++ OBJEXT
++@@ -789,6 +792,7 @@ enable_option_checking
++ enable_largefile
++ with_initddir
++ with_sysconfig_leaf_dir
+++with_libexec_leaf_dir
++ with_xen_dumpdir
++ enable_rpath
++ enable_githttp
++@@ -1490,6 +1494,8 @@ Optional Packages:
++                           options for runlevel scripts and daemons such as
++                           xenstored. This should be either "sysconfig" or
++                           "default". [sysconfig]
+++  --with-libexec-leaf-dir=SUBDIR
+++                          Name of subdirectory in libexecdir to use.
++   --with-xen-dumpdir=DIR  Path to directory for domU crash dumps.
++                           [LOCALSTATEDIR/lib/xen/dump]
++   --with-linux-backend-modules="mod1 mod2"
++@@ -3887,6 +3893,15 @@ CONFIG_LEAF_DIR=$config_leaf_dir
++ 
++ 
++ 
+++# Check whether --with-libexec-leaf-dir was given.
+++if test "${with_libexec_leaf_dir+set}" = set; then :
+++  withval=$with_libexec_leaf_dir; libexec_subdir=$withval
+++else
+++  libexec_subdir=$PACKAGE_TARNAME
+++fi
+++
+++
+++
++ # Check whether --with-xen-dumpdir was given.
++ if test "${with_xen_dumpdir+set}" = set; then :
++   withval=$with_xen_dumpdir; xen_dumpdir_path=$withval
++@@ -3903,11 +3918,16 @@ if test "$libexecdir" = '${exec_prefix}/libexec' ; then
++          ;;
++     esac
++ fi
++-libexecdir=`eval echo $libexecdir`
++-LIBEXEC_BIN=`eval echo $libexecdir/$PACKAGE_TARNAME/bin`
+++LIBEXEC=`eval echo $libexecdir/$libexec_subdir`
+++
+++
+++LIBEXEC_BIN=${LIBEXEC}/bin
+++
+++LIBEXEC_LIB=${LIBEXEC}/lib
++ 
+++LIBEXEC_INC=${LIBEXEC}/include
++ 
++-XENFIRMWAREDIR=`eval echo $libexecdir/$PACKAGE_TARNAME/boot`
+++XENFIRMWAREDIR=${LIBEXEC}/boot
++ 
++ 
++ XEN_RUN_DIR=$localstatedir/run/xen
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6b61843999d6f96635a3849432d83909e504f315
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,154 @@@
++From 0217d57bce9dee21cd4b42319ecb734d7c508f29 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:53 +0200
++Subject: tools-blktap2-prefix.diff
++
++Patch-Name: tools-blktap2-prefix.diff
++---
++ tools/blktap2/control/Makefile | 26 ++++++++------------------
++ tools/blktap2/vhd/Makefile     |  1 +
++ tools/blktap2/vhd/lib/Makefile | 29 +++++++++--------------------
++ 3 files changed, 18 insertions(+), 38 deletions(-)
++
++diff --git a/tools/blktap2/control/Makefile b/tools/blktap2/control/Makefile
++index 767f52a..c09ed65 100644
++--- a/tools/blktap2/control/Makefile
+++++ b/tools/blktap2/control/Makefile
++@@ -1,10 +1,7 @@
++ XEN_ROOT := $(CURDIR)/../../../
++ include $(XEN_ROOT)/tools/Rules.mk
++ 
++-MAJOR              = 1.0
++-MINOR              = 0
++ LIBNAME            = libblktapctl
++-LIBSONAME          = $(LIBNAME).so.$(MAJOR)
++ 
++ IBIN               = tap-ctl
++ 
++@@ -38,39 +35,32 @@ OBJS = $(CTL_OBJS) tap-ctl.o
++ PICS = $(CTL_PICS)
++ 
++ LIB_STATIC = $(LIBNAME).a
++-LIB_SHARED = $(LIBSONAME).$(MINOR)
+++LIB_SHARED = $(LIBNAME).so
++ IBIN = tap-ctl
++ 
++ all: build
++ 
++ build: $(IBIN) $(LIB_STATIC) $(LIB_SHARED)
++ 
++-$(LIBNAME).so: $(LIBSONAME)
++-     ln -sf $< $@
++-
++-$(LIBSONAME): $(LIB_SHARED)
++-     ln -sf $< $@
++-
++ tap-ctl: tap-ctl.o $(LIBNAME).so
++-     $(CC) $(LDFLAGS) -o $@ $^ $(APPEND_LDFLAGS)
+++     $(CC) $(LDFLAGS) $(call LDFLAGS_RPATH,../lib) -o $@ $^ $(APPEND_LDFLAGS)
++ 
++ $(LIB_STATIC): $(CTL_OBJS)
++      $(AR) r $@ $^
++ 
++ $(LIB_SHARED): $(CTL_PICS)
++-     $(CC) $(LDFLAGS) -fPIC  -Wl,$(SONAME_LDFLAG) -Wl,$(LIBSONAME) $(SHLIB_LDFLAGS) -rdynamic $^ -o $@  $(APPEND_LDFLAGS)
+++     $(CC) $(LDFLAGS) -fPIC $(SHLIB_LDFLAGS) -rdynamic $^ -o $@ $(APPEND_LDFLAGS)
++ 
++ install: $(IBIN) $(LIB_STATIC) $(LIB_SHARED)
++-     $(INSTALL_DIR) -p $(DESTDIR)$(sbindir)
++-     $(INSTALL_PROG) $(IBIN) $(DESTDIR)$(sbindir)
+++     $(INSTALL_DIR) -p $(DESTDIR)$(libdir)
+++     $(INSTALL_DIR) -p $(DESTDIR)$(LIBEXEC_BIN)
+++     $(INSTALL_DIR) -p $(DESTDIR)$(LIBEXEC_LIB)
+++     $(INSTALL_PROG) $(IBIN) $(DESTDIR)$(LIBEXEC_BIN)
++      $(INSTALL_DATA) $(LIB_STATIC) $(DESTDIR)$(libdir)
++-     $(INSTALL_PROG) $(LIB_SHARED) $(DESTDIR)$(libdir)
++-     ln -sf $(LIBSONAME) $(DESTDIR)$(libdir)/$(LIBNAME).so
++-     ln -sf $(LIB_SHARED) $(DESTDIR)$(libdir)/$(LIBSONAME)
+++     $(INSTALL_PROG) $(LIB_SHARED) $(DESTDIR)$(LIBEXEC_LIB)
++ 
++ clean:
++      rm -f $(OBJS) $(PICS) $(DEPS) $(IBIN) $(LIB_STATIC) $(LIB_SHARED)
++-     rm -f $(LIBNAME).so $(LIBSONAME)
++      rm -f *~
++ 
++ distclean: clean
++diff --git a/tools/blktap2/vhd/Makefile b/tools/blktap2/vhd/Makefile
++index fabd665..9802805 100644
++--- a/tools/blktap2/vhd/Makefile
+++++ b/tools/blktap2/vhd/Makefile
++@@ -12,6 +12,7 @@ CFLAGS            += -Werror
++ CFLAGS            += -Wno-unused
++ CFLAGS            += -I../include
++ CFLAGS            += -D_GNU_SOURCE
+++CFLAGS  += $(CFLAGS_libxenctrl)
++ 
++ ifeq ($(CONFIG_X86_64),y)
++ CFLAGS            += -fPIC
++diff --git a/tools/blktap2/vhd/lib/Makefile b/tools/blktap2/vhd/lib/Makefile
++index ab2d648..bd6501d 100644
++--- a/tools/blktap2/vhd/lib/Makefile
+++++ b/tools/blktap2/vhd/lib/Makefile
++@@ -2,25 +2,19 @@ XEN_ROOT=$(CURDIR)/../../../..
++ BLKTAP_ROOT := ../..
++ include $(XEN_ROOT)/tools/Rules.mk
++ 
++-LIBVHD-MAJOR     = 1.0
++-LIBVHD-MINOR     = 0
++-LIBVHD-SONAME    = libvhd.so.$(LIBVHD-MAJOR)
++-
++ LVM-UTIL-OBJ    := $(BLKTAP_ROOT)/lvm/lvm-util.o
++ 
++-LIBVHD-BUILD    := libvhd.a
++-
++-INST-DIR         = $(libdir)
++-
++ CFLAGS          += -Werror
++ CFLAGS          += -Wno-unused
++ CFLAGS          += -I../../include
++ CFLAGS          += -D_GNU_SOURCE
++ CFLAGS          += -fPIC
+++CFLAGS               += $(CFLAGS_libxenctrl)
++ 
++ ifeq ($(CONFIG_Linux),y)
++ LIBS            := -luuid
++ endif
+++LDFLAGS += $(LDFLAGS_libxenctrl) $(call LDFLAGS_RPATH)
++ 
++ ifeq ($(CONFIG_LIBICONV),y)
++ LIBS            += -liconv
++@@ -50,27 +44,22 @@ LIB-OBJS        += $(LVM-UTIL-OBJ)
++ 
++ LIB-PICOBJS      = $(patsubst %.o,%.opic,$(LIB-OBJS))
++ 
++-LIBVHD           = libvhd.a libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR)
+++LIBVHD           = libvhd.a libvhd.so
++ 
++ all: build
++ 
++-build: libvhd.a libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR)
+++build: libvhd.a libvhd.so
++ 
++ libvhd.a: $(LIB-OBJS)
++      $(AR) rc $@ $^
++ 
++-libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR): $(LIB-PICOBJS)
++-     $(CC) -Wl,$(SONAME_LDFLAG),$(LIBVHD-SONAME) $(SHLIB_LDFLAGS) \
++-             $(LDFLAGS) -o libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $^ $(LIBS)
++-     ln -sf libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) libvhd.so.$(LIBVHD-MAJOR)
++-     ln -sf libvhd.so.$(LIBVHD-MAJOR) libvhd.so
+++libvhd.so: $(LIB-PICOBJS)
+++     $(CC) $(SHLIB_LDFLAGS) $(LDFLAGS) -o libvhd.so $^ $(LIBS)
++ 
++ install: all
++-     $(INSTALL_DIR) -p $(DESTDIR)$(INST-DIR)
++-     $(INSTALL_DATA) libvhd.a $(DESTDIR)$(INST-DIR)
++-     $(INSTALL_PROG) libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $(DESTDIR)$(INST-DIR)
++-     ln -sf libvhd.so.$(LIBVHD-MAJOR).$(LIBVHD-MINOR) $(DESTDIR)$(INST-DIR)/libvhd.so.$(LIBVHD-MAJOR)
++-     ln -sf libvhd.so.$(LIBVHD-MAJOR) $(DESTDIR)$(INST-DIR)/libvhd.so
+++     $(INSTALL_DIR) -p $(DESTDIR)$(libdir)
+++     $(INSTALL_DATA) libvhd.a $(DESTDIR)$(libdir)
+++     $(INSTALL_PROG) libvhd.so $(DESTDIR)$(libdir)
++ 
++ clean:
++      rm -rf *.a *.so* *.o *.opic *~ $(DEPS) $(LIBVHD)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ef0d1619cc47bd55fe910c4db78b47080675ffe9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,33 @@@
++From 4a3eac9949ecbae3c0a57e079c150f026416babb Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:54 +0200
++Subject: tools-console-prefix.diff
++
++Patch-Name: tools-console-prefix.diff
++---
++ tools/console/Makefile | 5 ++---
++ 1 file changed, 2 insertions(+), 3 deletions(-)
++
++diff --git a/tools/console/Makefile b/tools/console/Makefile
++index 77e8f29..8ce2987 100644
++--- a/tools/console/Makefile
+++++ b/tools/console/Makefile
++@@ -8,6 +8,7 @@ CFLAGS  += $(CFLAGS_libxenstore)
++ LDLIBS += $(LDLIBS_libxenctrl)
++ LDLIBS += $(LDLIBS_libxenstore)
++ LDLIBS += $(SOCKET_LIBS)
+++LDFLAGS += $(call LDFLAGS_RPATH,../lib)
++ 
++ LDLIBS_xenconsoled += $(UTIL_LIBS)
++ LDLIBS_xenconsoled += -lrt
++@@ -37,9 +38,7 @@ $(eval $(genpath-target))
++ 
++ .PHONY: install
++ install: $(BIN)
++-     $(INSTALL_DIR) $(DESTDIR)/$(sbindir)
++-     $(INSTALL_PROG) xenconsoled $(DESTDIR)/$(sbindir)
++      $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
++-     $(INSTALL_PROG) xenconsole $(DESTDIR)$(LIBEXEC_BIN)
+++     $(INSTALL_PROG) xenconsole xenconsoled $(DESTDIR)$(LIBEXEC_BIN)
++ 
++ -include $(DEPS)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0a4aef7a5c8db8592522d9a08c21022cbf2e2850
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,30 @@@
++From 6b4ea81f9dbec5687d0d24b2036545653857a280 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:30 +0200
++Subject: tools-include-install.diff
++
++Patch-Name: tools-include-install.diff
++---
++ tools/include/Makefile | 2 --
++ 1 file changed, 2 deletions(-)
++
++diff --git a/tools/include/Makefile b/tools/include/Makefile
++index dec8b3d..cdc8505 100644
++--- a/tools/include/Makefile
+++++ b/tools/include/Makefile
++@@ -14,7 +14,6 @@ xen-foreign:
++ xen/.dir:
++      @rm -rf xen
++      mkdir -p xen/libelf
++-     ln -sf $(XEN_ROOT)/xen/include/public/COPYING xen
++      ln -sf $(wildcard $(XEN_ROOT)/xen/include/public/*.h) xen
++      ln -sf $(addprefix $(XEN_ROOT)/xen/include/public/,arch-x86 arch-arm hvm io xsm) xen
++      ln -sf ../xen-sys/$(XEN_OS) xen/sys
++@@ -42,7 +41,6 @@ install: all
++      $(INSTALL_DIR) $(DESTDIR)$(includedir)/xen/io
++      $(INSTALL_DIR) $(DESTDIR)$(includedir)/xen/sys
++      $(INSTALL_DIR) $(DESTDIR)$(includedir)/xen/xsm
++-     $(INSTALL_DATA) xen/COPYING $(DESTDIR)$(includedir)/xen
++      $(INSTALL_DATA) xen/*.h $(DESTDIR)$(includedir)/xen
++      $(INSTALL_DATA) xen/arch-x86/*.h $(DESTDIR)$(includedir)/xen/arch-x86
++      $(INSTALL_DATA) xen/arch-x86/hvm/*.h $(DESTDIR)$(includedir)/xen/arch-x86/hvm
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..422ad5a63a69cba034f846a8c01477825c1123dd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,60 @@@
++From f1a46665ec9eaa57a6f6a7e0478f38a837133c4a Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:47 +0200
++Subject: tools-libfsimage-abiname.diff
++
++Patch-Name: tools-libfsimage-abiname.diff
++---
++ tools/libfsimage/common/Makefile | 18 ++++--------------
++ 1 file changed, 4 insertions(+), 14 deletions(-)
++
++diff --git a/tools/libfsimage/common/Makefile b/tools/libfsimage/common/Makefile
++index 4840bc2..8357b0a 100644
++--- a/tools/libfsimage/common/Makefile
+++++ b/tools/libfsimage/common/Makefile
++@@ -1,9 +1,6 @@
++ XEN_ROOT = $(CURDIR)/../../..
++ include $(XEN_ROOT)/tools/libfsimage/Rules.mk
++ 
++-MAJOR = 1.0
++-MINOR = 0
++-
++ LDFLAGS-$(CONFIG_SunOS) = -Wl,-M -Wl,mapfile-SunOS
++ LDFLAGS-$(CONFIG_Linux) = -Wl,mapfile-GNU
++ LDFLAGS = $(LDFLAGS-y)
++@@ -15,7 +12,7 @@ LIB_SRCS-y = fsimage.c fsimage_plugin.c fsimage_grub.c
++ 
++ PIC_OBJS := $(patsubst %.c,%.opic,$(LIB_SRCS-y))
++ 
++-LIB = libfsimage.so libfsimage.so.$(MAJOR) libfsimage.so.$(MAJOR).$(MINOR)
+++LIB = libfsimage.so
++ 
++ .PHONY: all
++ all: $(LIB)
++@@ -24,9 +21,7 @@ all: $(LIB)
++ install: all
++      $(INSTALL_DIR) $(DESTDIR)$(libdir)
++      $(INSTALL_DIR) $(DESTDIR)$(includedir)
++-     $(INSTALL_PROG) libfsimage.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
++-     ln -sf libfsimage.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libfsimage.so.$(MAJOR)
++-     ln -sf libfsimage.so.$(MAJOR) $(DESTDIR)$(libdir)/libfsimage.so
+++     $(INSTALL_PROG) libfsimage.so $(DESTDIR)$(libdir)
++      $(INSTALL_DATA) fsimage.h $(DESTDIR)$(includedir)
++      $(INSTALL_DATA) fsimage_plugin.h $(DESTDIR)$(includedir)
++      $(INSTALL_DATA) fsimage_grub.h $(DESTDIR)$(includedir)
++@@ -34,13 +29,8 @@ install: all
++ clean distclean::
++      rm -f $(LIB)
++ 
++-libfsimage.so: libfsimage.so.$(MAJOR)
++-     ln -sf $< $@
++-libfsimage.so.$(MAJOR): libfsimage.so.$(MAJOR).$(MINOR)
++-     ln -sf $< $@
++-
++-libfsimage.so.$(MAJOR).$(MINOR): $(PIC_OBJS)
++-     $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libfsimage.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
+++libfsimage.so: $(PIC_OBJS)
+++     $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $^ $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
++ 
++ -include $(DEPS)
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fb9ee99835502a2703d26b2acd11016f4e44d074
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,53 @@@
++From bc0bf96348e2c683e2958453d837c45132671f96 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:55 +0200
++Subject: tools-libfsimage-prefix.diff
++
++Patch-Name: tools-libfsimage-prefix.diff
++---
++ tools/libfsimage/Rules.mk        | 3 ++-
++ tools/libfsimage/common/Makefile | 6 ++++--
++ 2 files changed, 6 insertions(+), 3 deletions(-)
++
++diff --git a/tools/libfsimage/Rules.mk b/tools/libfsimage/Rules.mk
++index a0c6504..3e35fc7 100644
++--- a/tools/libfsimage/Rules.mk
+++++ b/tools/libfsimage/Rules.mk
++@@ -3,10 +3,11 @@ include $(XEN_ROOT)/tools/Rules.mk
++ CFLAGS += -Wno-unknown-pragmas -I$(XEN_ROOT)/tools/libfsimage/common/ -DFSIMAGE_FSDIR=\"$(FSDIR)\"
++ CFLAGS += -Werror -D_GNU_SOURCE
++ LDFLAGS += -L../common/
+++LDFLAGS += $(call LDFLAGS_RPATH,../..)
++ 
++ PIC_OBJS := $(patsubst %.c,%.opic,$(LIB_SRCS-y))
++ 
++-FSDIR = $(libdir)/fs
+++FSDIR = $(LIBEXEC_LIB)/fs
++ 
++ FSLIB = fsimage.so
++ 
++diff --git a/tools/libfsimage/common/Makefile b/tools/libfsimage/common/Makefile
++index 8357b0a..2043744 100644
++--- a/tools/libfsimage/common/Makefile
+++++ b/tools/libfsimage/common/Makefile
++@@ -1,6 +1,8 @@
++ XEN_ROOT = $(CURDIR)/../../..
++ include $(XEN_ROOT)/tools/libfsimage/Rules.mk
++ 
+++CFLAGS += -DFSDIR="\"$(LIBEXEC_LIB)/fs\""
+++
++ LDFLAGS-$(CONFIG_SunOS) = -Wl,-M -Wl,mapfile-SunOS
++ LDFLAGS-$(CONFIG_Linux) = -Wl,mapfile-GNU
++ LDFLAGS = $(LDFLAGS-y)
++@@ -19,9 +21,9 @@ all: $(LIB)
++ 
++ .PHONY: install
++ install: all
++-     $(INSTALL_DIR) $(DESTDIR)$(libdir)
+++     $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_LIB)
++      $(INSTALL_DIR) $(DESTDIR)$(includedir)
++-     $(INSTALL_PROG) libfsimage.so $(DESTDIR)$(libdir)
+++     $(INSTALL_PROG) libfsimage.so $(DESTDIR)$(LIBEXEC_LIB)
++      $(INSTALL_DATA) fsimage.h $(DESTDIR)$(includedir)
++      $(INSTALL_DATA) fsimage_plugin.h $(DESTDIR)$(includedir)
++      $(INSTALL_DATA) fsimage_grub.h $(DESTDIR)$(includedir)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..84fe4a30da583ee1f7a3f38e9ff8b16bab9d78e0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,99 @@@
++From 99ff210087538225d22019474430cb0fdae8986a Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:48 +0200
++Subject: tools-libxc-abiname.diff
++
++Patch-Name: tools-libxc-abiname.diff
++---
++ tools/libxc/Makefile | 35 +++++++++++++----------------------
++ 1 file changed, 13 insertions(+), 22 deletions(-)
++
++diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
++index a0f899b..8695ebf 100644
++--- a/tools/libxc/Makefile
+++++ b/tools/libxc/Makefile
++@@ -1,9 +1,6 @@
++ XEN_ROOT = $(CURDIR)/../..
++ include $(XEN_ROOT)/tools/Rules.mk
++ 
++-MAJOR    = 4.6
++-MINOR    = 0
++-
++ ifeq ($(CONFIG_LIBXC_MINIOS),y)
++ # Save/restore of a domain is currently incompatible with a stubdom environment
++ override CONFIG_MIGRATE := n
++@@ -128,12 +125,12 @@ $(CTRL_PIC_OBJS) $(GUEST_PIC_OBJS) $(OSDEP_PIC_OBJS) : CFLAGS += -include $(XEN_
++ 
++ LIB := libxenctrl.a
++ ifneq ($(nosharedlibs),y)
++-LIB += libxenctrl.so libxenctrl.so.$(MAJOR) libxenctrl.so.$(MAJOR).$(MINOR)
+++LIB += libxenctrl.so libxenctrl-$(PACKAGE_VERSION).so
++ endif
++ 
++ LIB += libxenguest.a
++ ifneq ($(nosharedlibs),y)
++-LIB += libxenguest.so libxenguest.so.$(MAJOR) libxenguest.so.$(MAJOR).$(MINOR)
+++LIB += libxenguest.so libxenguest-$(PACKAGE_VERSION).so
++ endif
++ 
++ ifneq ($(nosharedlibs),y)
++@@ -162,15 +159,13 @@ libs: $(LIB)
++ install: build
++      $(INSTALL_DIR) $(DESTDIR)$(libdir)
++      $(INSTALL_DIR) $(DESTDIR)$(includedir)
++-     $(INSTALL_SHLIB) libxenctrl.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
+++     $(INSTALL_SHLIB) libxenctrl-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)
+++     $(SYMLINK_SHLIB) libxenctrl-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libxenctrl.so
++      $(INSTALL_DATA) libxenctrl.a $(DESTDIR)$(libdir)
++-     $(SYMLINK_SHLIB) libxenctrl.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenctrl.so.$(MAJOR)
++-     $(SYMLINK_SHLIB) libxenctrl.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenctrl.so
++      $(INSTALL_DATA) include/xenctrl.h include/xenctrlosdep.h include/xentoollog.h $(DESTDIR)$(includedir)
++-     $(INSTALL_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
+++     $(INSTALL_SHLIB) libxenguest-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)
+++     $(SYMLINK_SHLIB) libxenguest-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libxenguest.so
++      $(INSTALL_DATA) libxenguest.a $(DESTDIR)$(libdir)
++-     $(SYMLINK_SHLIB) libxenguest.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenguest.so.$(MAJOR)
++-     $(SYMLINK_SHLIB) libxenguest.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenguest.so
++      $(INSTALL_DATA) include/xenguest.h $(DESTDIR)$(includedir)
++ 
++ .PHONY: TAGS
++@@ -203,22 +198,18 @@ rpm: build
++ libxenctrl.a: $(CTRL_LIB_OBJS)
++      $(AR) rc $@ $^
++ 
++-libxenctrl.so: libxenctrl.so.$(MAJOR)
++-     $(SYMLINK_SHLIB) $< $@
++-libxenctrl.so.$(MAJOR): libxenctrl.so.$(MAJOR).$(MINOR)
+++libxenctrl.so: libxenctrl-$(PACKAGE_VERSION).so
++      $(SYMLINK_SHLIB) $< $@
++ 
++-libxenctrl.so.$(MAJOR).$(MINOR): $(CTRL_PIC_OBJS)
++-     $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenctrl.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(DLOPEN_LIBS) $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
+++libxenctrl-$(PACKAGE_VERSION).so: $(CTRL_PIC_OBJS)
+++     $(CC) $(LDFLAGS) $(PTHREAD_LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $^ $(DLOPEN_LIBS) $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
++ 
++ # libxenguest
++ 
++ libxenguest.a: $(GUEST_LIB_OBJS)
++      $(AR) rc $@ $^
++ 
++-libxenguest.so: libxenguest.so.$(MAJOR)
++-     $(SYMLINK_SHLIB) $< $@
++-libxenguest.so.$(MAJOR): libxenguest.so.$(MAJOR).$(MINOR)
+++libxenguest.so: libxenguest-$(PACKAGE_VERSION).so
++      $(SYMLINK_SHLIB) $< $@
++ 
++ ifeq ($(CONFIG_MiniOS),y)
++@@ -230,9 +221,9 @@ endif
++ xc_dom_bzimageloader.o: CFLAGS += $(call zlib-options,D)
++ xc_dom_bzimageloader.opic: CFLAGS += $(call zlib-options,D)
++ 
++-libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS = $(call zlib-options,l)
++-libxenguest.so.$(MAJOR).$(MINOR): $(GUEST_PIC_OBJS) libxenctrl.so
++-     $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenguest.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $(GUEST_PIC_OBJS) $(COMPRESSION_LIBS) -lz $(LDLIBS_libxenctrl) $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
+++libxenguest-$(PACKAGE_VERSION).so: COMPRESSION_LIBS = $(call zlib-options,l)
+++libxenguest-$(PACKAGE_VERSION).so: $(GUEST_PIC_OBJS) libxenctrl-$(PACKAGE_VERSION).so
+++     $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $(GUEST_PIC_OBJS) $(COMPRESSION_LIBS) -lz $(LDLIBS_libxenctrl) $(PTHREAD_LIBS) $(APPEND_LDFLAGS)
++ 
++ xenctrl_osdep_ENOSYS.so: $(OSDEP_PIC_OBJS) libxenctrl.so
++      $(CC) $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $(OSDEP_PIC_OBJS) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d1dc058fcbb6a2d4ac17d6c874bf9d8b1d03be1b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,80 @@@
++From 6b045729daf86c55440e0391bad4d981dbb2d805 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:49 +0200
++Subject: tools-libxl-abiname.diff
++
++Patch-Name: tools-libxl-abiname.diff
++---
++ tools/libxl/Makefile | 33 ++++++++++-----------------------
++ 1 file changed, 10 insertions(+), 23 deletions(-)
++
++diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
++index c5ecec1..08b2b93 100644
++--- a/tools/libxl/Makefile
+++++ b/tools/libxl/Makefile
++@@ -5,12 +5,6 @@
++ XEN_ROOT = $(CURDIR)/../..
++ include $(XEN_ROOT)/tools/Rules.mk
++ 
++-MAJOR = 4.6
++-MINOR = 0
++-
++-XLUMAJOR = 4.6
++-XLUMINOR = 0
++-
++ CFLAGS += -Werror -Wno-format-zero-length -Wmissing-declarations \
++      -Wno-declaration-after-statement -Wformat-nonliteral
++ CFLAGS += -I. -fPIC
++@@ -225,14 +219,11 @@ _libxl_type%.h _libxl_type%_json.h _libxl_type%_private.h _libxl_type%.c: libxl_
++      $(call move-if-changed,__libxl_type$*_json.h,_libxl_type$*_json.h)
++      $(call move-if-changed,__libxl_type$*.c,_libxl_type$*.c)
++ 
++-libxenlight.so: libxenlight.so.$(MAJOR)
+++libxenlight.so: libxenlight-$(PACKAGE_VERSION).so
++      $(SYMLINK_SHLIB) $< $@
++ 
++-libxenlight.so.$(MAJOR): libxenlight.so.$(MAJOR).$(MINOR)
++-     $(SYMLINK_SHLIB) $< $@
++-
++-libxenlight.so.$(MAJOR).$(MINOR): $(LIBXL_OBJS)
++-     $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenlight.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
+++libxenlight-$(PACKAGE_VERSION).so: $(LIBXL_OBJS)
+++     $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
++ 
++ libxenlight_test.so: $(LIBXL_OBJS) $(LIBXL_TEST_OBJS)
++      $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenlight.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
++@@ -240,14 +231,11 @@ libxenlight_test.so: $(LIBXL_OBJS) $(LIBXL_TEST_OBJS)
++ libxenlight.a: $(LIBXL_OBJS)
++      $(AR) rcs libxenlight.a $^
++ 
++-libxlutil.so: libxlutil.so.$(XLUMAJOR)
++-     $(SYMLINK_SHLIB) $< $@
++-
++-libxlutil.so.$(XLUMAJOR): libxlutil.so.$(XLUMAJOR).$(XLUMINOR)
+++libxlutil.so: libxlutil-$(PACKAGE_VERSION).so
++      $(SYMLINK_SHLIB) $< $@
++ 
++-libxlutil.so.$(XLUMAJOR).$(XLUMINOR): $(LIBXLU_OBJS) libxenlight.so
++-     $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxlutil.so.$(XLUMAJOR) $(SHLIB_LDFLAGS) -o $@ $(LIBXLU_OBJS) $(LIBXLU_LIBS) $(APPEND_LDFLAGS)
+++libxlutil-$(PACKAGE_VERSION).so: $(LIBXLU_OBJS) libxenlight.so
+++     $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $(LIBXLU_OBJS) $(LIBXLU_LIBS) $(APPEND_LDFLAGS)
++ 
++ libxlutil.a: $(LIBXLU_OBJS)
++      $(AR) rcs libxlutil.a $^
++@@ -282,12 +270,11 @@ install: all
++      $(INSTALL_PROG) xl $(DESTDIR)$(sbindir)
++      $(INSTALL_PROG) xen-init-dom0 $(DESTDIR)$(LIBEXEC_BIN)
++      $(INSTALL_PROG) libxl-save-helper $(DESTDIR)$(LIBEXEC_BIN)
++-     $(INSTALL_SHLIB) libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
++-     $(SYMLINK_SHLIB) libxenlight.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenlight.so.$(MAJOR)
++-     $(SYMLINK_SHLIB) libxenlight.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenlight.so
+++     $(INSTALL_SHLIB) libxenlight-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)
+++     $(SYMLINK_SHLIB) libxenlight-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libxenlight.so
++      $(INSTALL_DATA) libxenlight.a $(DESTDIR)$(libdir)
++-     $(INSTALL_SHLIB) libxlutil.so.$(XLUMAJOR).$(XLUMINOR) $(DESTDIR)$(libdir)
++-     $(SYMLINK_SHLIB) libxlutil.so.$(XLUMAJOR).$(XLUMINOR) $(DESTDIR)$(libdir)/libxlutil.so.$(XLUMAJOR)
+++     $(INSTALL_SHLIB) libxlutil-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)
+++     $(SYMLINK_SHLIB) libxlutil-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libxlutil.so
++      $(SYMLINK_SHLIB) libxlutil.so.$(XLUMAJOR) $(DESTDIR)$(libdir)/libxlutil.so
++      $(INSTALL_DATA) libxlutil.a $(DESTDIR)$(libdir)
++      $(INSTALL_DATA) libxl.h libxl_event.h libxl_json.h _libxl_types.h _libxl_types_json.h _libxl_list.h libxl_utils.h libxl_uuid.h libxlutil.h $(DESTDIR)$(includedir)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a60f5d3ee03a6af2f9d925a4777d35145e2cb23a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,56 @@@
++From d8e7fa4b74ebc68d38bca0ca5de82addbed7caff Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:57 +0200
++Subject: tools-libxl-prefix.diff
++
++Patch-Name: tools-libxl-prefix.diff
++---
++ tools/libxl/Makefile | 9 +++++----
++ 1 file changed, 5 insertions(+), 4 deletions(-)
++
++diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
++index 08b2b93..e756946 100644
++--- a/tools/libxl/Makefile
+++++ b/tools/libxl/Makefile
++@@ -12,6 +12,8 @@ CFLAGS += -I. -fPIC
++ ifeq ($(CONFIG_Linux),y)
++ LIBUUID_LIBS += -luuid
++ endif
+++LDFLAGS_XL = $(call LDFLAGS_RPATH,../lib)
+++LDFLAGS_LIBXL = $(call LDFLAGS_RPATH)
++ 
++ LIBXL_LIBS =
++ LIBXL_LIBS = $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(LDLIBS_libblktapctl) $(PTYFUNCS_LIBS) $(LIBUUID_LIBS)
++@@ -223,7 +225,7 @@ libxenlight.so: libxenlight-$(PACKAGE_VERSION).so
++      $(SYMLINK_SHLIB) $< $@
++ 
++ libxenlight-$(PACKAGE_VERSION).so: $(LIBXL_OBJS)
++-     $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
+++     $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG),$@ $(LDFLAGS_LIBXL) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
++ 
++ libxenlight_test.so: $(LIBXL_OBJS) $(LIBXL_TEST_OBJS)
++      $(CC) $(LDFLAGS) -Wl,$(SONAME_LDFLAG) -Wl,libxenlight.so.$(MAJOR) $(SHLIB_LDFLAGS) -o $@ $^ $(LIBXL_LIBS) $(APPEND_LDFLAGS)
++@@ -241,7 +243,7 @@ libxlutil.a: $(LIBXLU_OBJS)
++      $(AR) rcs libxlutil.a $^
++ 
++ xl: $(XL_OBJS) libxlutil.so libxenlight.so
++-     $(CC) $(LDFLAGS) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) -lyajl $(APPEND_LDFLAGS)
+++     $(CC) $(LDFLAGS) $(LDFLAGS_XL) -o $@ $(XL_OBJS) libxlutil.so $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) -lyajl $(APPEND_LDFLAGS)
++ 
++ xen-init-dom0: $(XEN_INIT_DOM0_OBJS) libxenlight.so
++      $(CC) $(LDFLAGS) -o $@ $(XEN_INIT_DOM0_OBJS) $(LDLIBS_libxenstore) $(LDLIBS_libxenlight) $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
++@@ -261,13 +263,12 @@ $(PKG_CONFIG): % : %.in Makefile
++ 
++ .PHONY: install
++ install: all
++-     $(INSTALL_DIR) $(DESTDIR)$(sbindir)
++      $(INSTALL_DIR) $(DESTDIR)$(libdir)
++      $(INSTALL_DIR) $(DESTDIR)$(includedir)
++      $(INSTALL_DIR) $(DESTDIR)$(BASH_COMPLETION_DIR)
++      $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
++      $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/pkgconfig
++-     $(INSTALL_PROG) xl $(DESTDIR)$(sbindir)
+++     $(INSTALL_PROG) xl $(DESTDIR)$(LIBEXEC_BIN)
++      $(INSTALL_PROG) xen-init-dom0 $(DESTDIR)$(LIBEXEC_BIN)
++      $(INSTALL_PROG) libxl-save-helper $(DESTDIR)$(LIBEXEC_BIN)
++      $(INSTALL_SHLIB) libxenlight-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5326f7e9229065f28c2e137b1d6e79f9e9cfd20b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,28 @@@
++From 9bff27bcfcad2bcba7b428e7199173be9a7bb202 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:59 +0200
++Subject: tools-misc-prefix.diff
++
++Patch-Name: tools-misc-prefix.diff
++---
++ tools/misc/Makefile | 6 +-----
++ 1 file changed, 1 insertion(+), 5 deletions(-)
++
++diff --git a/tools/misc/Makefile b/tools/misc/Makefile
++index c4490f3..650a150 100644
++--- a/tools/misc/Makefile
+++++ b/tools/misc/Makefile
++@@ -53,12 +53,8 @@ all build: $(TARGETS_BUILD)
++ 
++ .PHONY: install
++ install: build
++-     $(INSTALL_DIR) $(DESTDIR)$(bindir)
++-     $(INSTALL_DIR) $(DESTDIR)$(sbindir)
++      $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
++-     $(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(DESTDIR)$(bindir)
++-     $(INSTALL_PYTHON_PROG) $(INSTALL_SBIN) $(DESTDIR)$(sbindir)
++-     $(INSTALL_PYTHON_PROG) $(INSTALL_PRIVBIN) $(DESTDIR)$(LIBEXEC_BIN)
+++     $(INSTALL_PYTHON_PROG) $(INSTALL_BIN) $(INSTALL_SBIN) $(INSTALL_PRIVBIN) $(DESTDIR)$(LIBEXEC_BIN)
++ 
++ .PHONY: clean
++ clean:
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..543c1f7a30997f9aec371c24f98b87bfb55f667e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,59 @@@
++From 1b9302af0618b30e918ecbafdb51d2badd3e666e Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:01 +0200
++Subject: tools-pygrub-prefix.diff
++
++Patch-Name: tools-pygrub-prefix.diff
++---
++ tools/pygrub/Makefile   | 5 -----
++ tools/pygrub/setup.py   | 2 ++
++ tools/pygrub/src/pygrub | 2 ++
++ 3 files changed, 4 insertions(+), 5 deletions(-)
++
++diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
++index fe8e03b..5d83907 100644
++--- a/tools/pygrub/Makefile
+++++ b/tools/pygrub/Makefile
++@@ -15,11 +15,6 @@ install: all
++      CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
++              $(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
++              --install-scripts=$(LIBEXEC_BIN) --force
++-     set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \
++-                  "`readlink -f $(DESTDIR)/$(bindir)`" != \
++-                  "`readlink -f $(LIBEXEC_BIN)`" ]; then \
++-         ln -sf $(LIBEXEC_BIN)/pygrub $(DESTDIR)/$(bindir); \
++-     fi
++ 
++ .PHONY: clean
++ clean:
++diff --git a/tools/pygrub/setup.py b/tools/pygrub/setup.py
++index 52dcf57..8a1be9a 100644
++--- a/tools/pygrub/setup.py
+++++ b/tools/pygrub/setup.py
++@@ -4,11 +4,13 @@ import os
++ import sys
++ 
++ extra_compile_args  = [ "-fno-strict-aliasing", "-Werror" ]
+++extra_link_args = [ "-Wl,-rpath,${ORIGIN}/.." ]
++ 
++ XEN_ROOT = "../.."
++ 
++ fsimage = Extension("fsimage",
++     extra_compile_args = extra_compile_args,
+++    extra_link_args = extra_link_args,
++     include_dirs = [ XEN_ROOT + "/tools/libfsimage/common/" ],
++     library_dirs = [ XEN_ROOT + "/tools/libfsimage/common/" ],
++     libraries = ["fsimage"],
++diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
++index e4aedda..a50ed79 100755
++--- a/tools/pygrub/src/pygrub
+++++ b/tools/pygrub/src/pygrub
++@@ -21,6 +21,8 @@ import xen.lowlevel.xc
++ import curses, _curses, curses.wrapper, curses.textpad, curses.ascii
++ import getopt
++ 
+++sys.path.insert(1, sys.path[0] + '/../lib/python')
+++
++ import fsimage
++ import grub.GrubConf
++ import grub.LiloConf
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d0b4d00e7ce93283962a48682630a5852c98697b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,86 @@@
++From 21d1298418ec54f87a5dffe6857ab474b159d6dc Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:29 +0200
++Subject: Remove static solaris support from pygrub
++
++Patch-Name: tools-pygrub-remove-static-solaris-support
++---
++ tools/pygrub/src/pygrub | 51 +------------------------------------------------
++ 1 file changed, 1 insertion(+), 50 deletions(-)
++
++diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
++index a50ed79..6204812 100755
++--- a/tools/pygrub/src/pygrub
+++++ b/tools/pygrub/src/pygrub
++@@ -16,7 +16,6 @@ import os, sys, string, struct, tempfile, re, traceback, stat, errno
++ import copy
++ import logging
++ import platform
++-import xen.lowlevel.xc
++ 
++ import curses, _curses, curses.wrapper, curses.textpad, curses.ascii
++ import getopt
++@@ -663,51 +662,6 @@ def run_grub(file, entry, fs, cfg_args):
++ 
++     return grubcfg
++ 
++-def supports64bitPVguest():
++-    xc = xen.lowlevel.xc.xc()
++-    caps = xc.xeninfo()['xen_caps'].split(" ")
++-    for cap in caps:
++-        if cap == "xen-3.0-x86_64":
++-            return True
++-    return False
++-
++-# If nothing has been specified, look for a Solaris domU. If found, perform the
++-# necessary tweaks.
++-def sniff_solaris(fs, cfg):
++-    if not fs.file_exists("/platform/i86xpv/kernel/unix") and \
++-       not fs.file_exists("/platform/i86xpv/kernel/amd64/unix"):
++-        return cfg
++-
++-    if not cfg["kernel"]:
++-        if supports64bitPVguest() and \
++-          fs.file_exists("/platform/i86xpv/kernel/amd64/unix"):
++-            cfg["kernel"] = "/platform/i86xpv/kernel/amd64/unix"
++-            cfg["ramdisk"] = "/platform/i86pc/amd64/boot_archive"
++-        elif fs.file_exists("/platform/i86xpv/kernel/unix"):
++-            cfg["kernel"] = "/platform/i86xpv/kernel/unix"
++-            cfg["ramdisk"] = "/platform/i86pc/boot_archive"
++-        else:
++-            return cfg
++-
++-    # Unpleasant. Typically we'll have 'root=foo -k' or 'root=foo /kernel -k',
++-    # and we need to maintain Xen properties (root= and ip=) and the kernel
++-    # before any user args.
++-    
++-    xenargs = ""
++-    userargs = ""
++-    
++-    if not cfg["args"]:
++-        cfg["args"] = cfg["kernel"]
++-    else:
++-        for arg in cfg["args"].split():
++-            if re.match("^root=", arg) or re.match("^ip=", arg):
++-                xenargs += arg + " "
++-            elif arg != cfg["kernel"]:
++-                userargs += arg + " "
++-        cfg["args"] = xenargs + " " + cfg["kernel"] + " " + userargs
++-
++-    return cfg
++- 
++ def sniff_netware(fs, cfg):
++     if not fs.file_exists("/nwserver/xnloader.sys"):
++         return cfg
++@@ -893,10 +847,7 @@ if __name__ == "__main__":
++         try:
++             fs = fsimage.open(file, offset, bootfsoptions)
++ 
++-            chosencfg = sniff_solaris(fs, incfg)
++-
++-            if not chosencfg["kernel"]:
++-                chosencfg = sniff_netware(fs, incfg)
+++            chosencfg = sniff_netware(fs, incfg)
++ 
++             if not chosencfg["kernel"]:
++                 chosencfg = run_grub(file, entry, fs, incfg["args"])
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c6a1a2bbb4030eca93a50c117e519101a8b2a3d7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,46 @@@
++From 141cd0567fbcf98572e37a220c0c85d0dffc9b2b Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:02 +0200
++Subject: tools-python-prefix.diff
++
++Patch-Name: tools-python-prefix.diff
++---
++ tools/python/setup.py | 4 ++++
++ 1 file changed, 4 insertions(+)
++
++diff --git a/tools/python/setup.py b/tools/python/setup.py
++index 5bf81be..3439066 100644
++--- a/tools/python/setup.py
+++++ b/tools/python/setup.py
++@@ -5,6 +5,7 @@ import os, sys
++ XEN_ROOT = "../.."
++ 
++ extra_compile_args  = [ "-fno-strict-aliasing", "-Werror" ]
+++extra_link_args = [ "-Wl,-rpath,${ORIGIN}/../../.." ]
++ 
++ PATH_XEN      = XEN_ROOT + "/tools/include"
++ PATH_LIBXC    = XEN_ROOT + "/tools/libxc"
++@@ -13,6 +14,7 @@ PATH_XENSTORE = XEN_ROOT + "/tools/xenstore"
++ 
++ xc = Extension("xc",
++                extra_compile_args = extra_compile_args,
+++               extra_link_args    = extra_link_args,
++                include_dirs       = [ PATH_XEN, PATH_LIBXC + "/include", "xen/lowlevel/xc" ],
++                library_dirs       = [ PATH_LIBXC ],
++                libraries          = [ "xenctrl", "xenguest" ],
++@@ -21,6 +23,7 @@ xc = Extension("xc",
++ 
++ xs = Extension("xs",
++                extra_compile_args = extra_compile_args,
+++               extra_link_args    = extra_link_args,
++                include_dirs       = [ PATH_XEN, PATH_XENSTORE + "/include", "xen/lowlevel/xs" ],
++                library_dirs       = [ PATH_XENSTORE ],
++                libraries          = [ "xenstore" ],
++@@ -29,6 +32,7 @@ xs = Extension("xs",
++ 
++ xl = Extension("xl",
++                extra_compile_args = extra_compile_args,
+++               extra_link_args    = extra_link_args,
++                include_dirs       = [ PATH_XEN, PATH_LIBXL, PATH_LIBXC + "/include", "xen/lowlevel/xl" ],
++                library_dirs       = [ PATH_LIBXL ],
++                libraries          = [ "xenlight" ],
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..98afbe181a1d1258490a35d031600eca52aec043
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++From d84837538defa41229bbc4507b76869778cba9f1 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:51 +0200
++Subject: tools-rpath.diff
++
++Patch-Name: tools-rpath.diff
++---
++ tools/Rules.mk | 2 ++
++ 1 file changed, 2 insertions(+)
++
++diff --git a/tools/Rules.mk b/tools/Rules.mk
++index 2c422bd..8ea20a3 100644
++--- a/tools/Rules.mk
+++++ b/tools/Rules.mk
++@@ -9,6 +9,8 @@ include $(XEN_ROOT)/Config.mk
++ export _INSTALL := $(INSTALL)
++ INSTALL = $(XEN_ROOT)/tools/cross-install
++ 
+++LDFLAGS_RPATH = -Wl,-rpath,'$${ORIGIN}$(if $(1),/$(1))'
+++
++ XEN_INCLUDE        = $(XEN_ROOT)/tools/include
++ XEN_LIBXC          = $(XEN_ROOT)/tools/libxc
++ XEN_XENLIGHT       = $(XEN_ROOT)/tools/libxl
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3949f418237a54ca89451f664b9d6dc20cddb12d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++From 124316a08cf9154ce6809f61c5c56d1723364c82 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:05 +0200
++Subject: tools-xcutils-rpath.diff
++
++Patch-Name: tools-xcutils-rpath.diff
++---
++ tools/xcutils/Makefile | 2 ++
++ 1 file changed, 2 insertions(+)
++
++diff --git a/tools/xcutils/Makefile b/tools/xcutils/Makefile
++index fff519d..fb813b0 100644
++--- a/tools/xcutils/Makefile
+++++ b/tools/xcutils/Makefile
++@@ -19,6 +19,8 @@ CFLAGS += -Werror
++ CFLAGS_readnotes.o  := $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) -I$(XEN_ROOT)/tools/libxc
++ CFLAGS_lsevtchn.o   := $(CFLAGS_libxenctrl)
++ 
+++APPEND_LDFLAGS += $(call LDFLAGS_RPATH,../lib)
+++
++ .PHONY: all
++ all: build
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..982939c4187f38fcfdbb555033eb2770529e0270
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++From 1e891d48238987a735c7183a45822f68bcd00a56 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:31 +0200
++Subject: tools-xenmon-install.diff
++
++Patch-Name: tools-xenmon-install.diff
++---
++ tools/xenmon/Makefile | 4 ++++
++ 1 file changed, 4 insertions(+)
++
++diff --git a/tools/xenmon/Makefile b/tools/xenmon/Makefile
++index cb6d7f8..3eb4fc9 100644
++--- a/tools/xenmon/Makefile
+++++ b/tools/xenmon/Makefile
++@@ -13,6 +13,10 @@
++ XEN_ROOT=$(CURDIR)/../..
++ include $(XEN_ROOT)/tools/Rules.mk
++ 
+++DEFAULT_PYTHON_PATH := $(shell $(XEN_ROOT)/tools/python/get-path)
+++PYTHON_PATH ?= $(DEFAULT_PYTHON_PATH)
+++INSTALL_PYTHON_PROG = $(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG)
+++
++ CFLAGS  += -Werror
++ CFLAGS  += $(CFLAGS_libxenctrl)
++ LDLIBS  += $(LDLIBS_libxenctrl)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f495af80e95a198a41829540da3986bd88d81d4c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,37 @@@
++From 68f545c1e9227d64d47407a9f05d918a819f3733 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:06 +0200
++Subject: tools-xenmon-prefix.diff
++
++Patch-Name: tools-xenmon-prefix.diff
++---
++ tools/xenmon/Makefile | 9 +++++----
++ 1 file changed, 5 insertions(+), 4 deletions(-)
++
++diff --git a/tools/xenmon/Makefile b/tools/xenmon/Makefile
++index 20ea100..cb6d7f8 100644
++--- a/tools/xenmon/Makefile
+++++ b/tools/xenmon/Makefile
++@@ -16,6 +16,7 @@ include $(XEN_ROOT)/tools/Rules.mk
++ CFLAGS  += -Werror
++ CFLAGS  += $(CFLAGS_libxenctrl)
++ LDLIBS  += $(LDLIBS_libxenctrl)
+++LDFLAGS += $(call LDFLAGS_RPATH,../lib)
++ 
++ SCRIPTS = xenmon.py
++ 
++@@ -27,10 +28,10 @@ build: xentrace_setmask xenbaked
++ 
++ .PHONY: install
++ install: build
++-     $(INSTALL_DIR) $(DESTDIR)$(sbindir)
++-     $(INSTALL_PROG) xenbaked $(DESTDIR)$(sbindir)/xenbaked
++-     $(INSTALL_PROG) xentrace_setmask  $(DESTDIR)$(sbindir)/xentrace_setmask
++-     $(INSTALL_PROG) xenmon.py  $(DESTDIR)$(sbindir)/xenmon.py
+++     $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+++     $(INSTALL_PROG) xenbaked $(DESTDIR)$(LIBEXEC_BIN)/xenbaked
+++     $(INSTALL_PROG) xentrace_setmask  $(DESTDIR)$(LIBEXEC_BIN)/xentrace_setmask
+++     $(INSTALL_PROG) xenmon.py  $(DESTDIR)$(LIBEXEC_BIN)/xenmon.py
++ 
++ .PHONY: clean
++ clean:
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4cf4f7aa06123a888fcb07215aef92fd23311bb9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++From b126461dd534c9ea60603e5680a1009fb7d8c57c Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:08 +0200
++Subject: tools-xenpaging-prefix.diff
++
++Patch-Name: tools-xenpaging-prefix.diff
++---
++ tools/xenpaging/Makefile | 2 +-
++ 1 file changed, 1 insertion(+), 1 deletion(-)
++
++diff --git a/tools/xenpaging/Makefile b/tools/xenpaging/Makefile
++index 2407a30..f3747b3 100644
++--- a/tools/xenpaging/Makefile
+++++ b/tools/xenpaging/Makefile
++@@ -4,7 +4,7 @@ include $(XEN_ROOT)/tools/Rules.mk
++ # xenpaging.c and file_ops.c incorrectly use libxc internals
++ CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenstore) $(PTHREAD_CFLAGS) -I$(XEN_ROOT)/tools/libxc
++ LDLIBS += $(LDLIBS_libxenctrl) $(LDLIBS_libxenstore) $(PTHREAD_LIBS)
++-LDFLAGS += $(PTHREAD_LDFLAGS)
+++LDFLAGS += $(PTHREAD_LDFLAGS) $(call LDFLAGS_RPATH,../lib)
++ 
++ POLICY    = default
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..46214b7af1a6f2581d3bf5b778a6110aad5b2c6a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,25 @@@
++From 4765ac594756870c30cf1963530b1f682035bc00 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 13 Dec 2014 19:37:02 +0100
++Subject: tools-xenpmd-prefix.diff
++
++Patch-Name: tools-xenpmd-prefix.diff
++---
++ tools/xenpmd/Makefile | 4 ++--
++ 1 file changed, 2 insertions(+), 2 deletions(-)
++
++diff --git a/tools/xenpmd/Makefile b/tools/xenpmd/Makefile
++index 55e8fc5..470e963 100644
++--- a/tools/xenpmd/Makefile
+++++ b/tools/xenpmd/Makefile
++@@ -11,8 +11,8 @@ all: xenpmd
++ 
++ .PHONY: install
++ install: all
++-     $(INSTALL_DIR) $(DESTDIR)$(sbindir)
++-     $(INSTALL_PROG) xenpmd $(DESTDIR)$(sbindir)
+++     $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+++     $(INSTALL_PROG) xenpmd $(DESTDIR)$(LIBEXEC_BIN)
++ 
++ .PHONY: clean
++ clean:
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c939162180d798c7d26c3ea83fcdba34d53b6b93
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,66 @@@
++From a3f4d066fa36b8dfcaab81e8e6fc7296a6927c67 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:50 +0200
++Subject: tools-xenstat-abiname.diff
++
++Patch-Name: tools-xenstat-abiname.diff
++---
++ tools/xenstat/libxenstat/Makefile | 22 +++++-----------------
++ 1 file changed, 5 insertions(+), 17 deletions(-)
++
++diff --git a/tools/xenstat/libxenstat/Makefile b/tools/xenstat/libxenstat/Makefile
++index 850d24a..7c13c06 100644
++--- a/tools/xenstat/libxenstat/Makefile
+++++ b/tools/xenstat/libxenstat/Makefile
++@@ -18,18 +18,14 @@ include $(XEN_ROOT)/tools/Rules.mk
++ LDCONFIG=ldconfig
++ MAKE_LINK=ln -sf
++ 
++-MAJOR=0
++-MINOR=0
++-
++ LIB=src/libxenstat.a
++-SHLIB=src/libxenstat.so.$(MAJOR).$(MINOR)
++-SHLIB_LINKS=src/libxenstat.so.$(MAJOR) src/libxenstat.so
++-OBJECTS-y=src/xenstat.o src/xenstat_qmp.o
+++SHLIB=src/libxenstat.so
+++OBJECTS-y=src/xenstat.o
++ OBJECTS-$(CONFIG_Linux) += src/xenstat_linux.o
++ OBJECTS-$(CONFIG_SunOS) += src/xenstat_solaris.o
++ OBJECTS-$(CONFIG_NetBSD) += src/xenstat_netbsd.o
++ OBJECTS-$(CONFIG_FreeBSD) += src/xenstat_freebsd.o
++-SONAME_FLAGS=-Wl,$(SONAME_LDFLAG) -Wl,libxenstat.so.$(MAJOR)
+++SONAME_FLAGS=-Wl,$(SONAME_LDFLAG),libxenstat.so
++ 
++ CFLAGS+=-fPIC
++ CFLAGS+=-Isrc $(CFLAGS_libxenctrl) $(CFLAGS_libxenstore) $(CFLAGS_xeninclude) -include $(XEN_ROOT)/tools/config.h
++@@ -38,7 +34,7 @@ LDLIBS-y = $(LDLIBS_libxenstore) $(LDLIBS_libxenctrl)
++ LDLIBS-$(CONFIG_SunOS) += -lkstat
++ 
++ .PHONY: all
++-all: $(LIB) $(SHLIB) $(SHLIB_LINKS)
+++all: $(LIB) $(SHLIB)
++ 
++ $(LIB): $(OBJECTS-y)
++      $(AR) rc $@ $^
++@@ -48,19 +44,11 @@ $(SHLIB): $(OBJECTS-y)
++      $(CC) $(LDFLAGS) $(SONAME_FLAGS) $(SHLIB_LDFLAGS) -o $@ \
++          $(OBJECTS-y) $(LDLIBS-y) $(APPEND_LDFLAGS)
++ 
++-src/libxenstat.so.$(MAJOR): $(SHLIB)
++-     $(MAKE_LINK) $(<F) $@
++-
++-src/libxenstat.so: src/libxenstat.so.$(MAJOR)
++-     $(MAKE_LINK) $(<F) $@
++-
++ .PHONY: install
++ install: all
++      $(INSTALL_DATA) src/xenstat.h $(DESTDIR)$(includedir)
++      $(INSTALL_DATA) $(LIB) $(DESTDIR)$(libdir)/libxenstat.a
++-     $(INSTALL_PROG) src/libxenstat.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)
++-     ln -sf libxenstat.so.$(MAJOR).$(MINOR) $(DESTDIR)$(libdir)/libxenstat.so.$(MAJOR)
++-     ln -sf libxenstat.so.$(MAJOR) $(DESTDIR)$(libdir)/libxenstat.so
+++     $(INSTALL_PROG) src/libxenstat.so $(DESTDIR)$(libdir)
++ 
++ PYLIB=bindings/swig/python/_xenstat.so
++ PYMOD=bindings/swig/python/xenstat.py
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..de3625c15e177d3c1f356daa1be8285b4a3d92e3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,62 @@@
++From 86e02c8e08b9fd2164ce8b1f419156a9eba4cc24 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:09 +0200
++Subject: tools-xenstat-prefix.diff
++
++Patch-Name: tools-xenstat-prefix.diff
++---
++ tools/xenstat/libxenstat/Makefile | 6 ++++--
++ tools/xenstat/xentop/Makefile     | 6 ++++--
++ 2 files changed, 8 insertions(+), 4 deletions(-)
++
++diff --git a/tools/xenstat/libxenstat/Makefile b/tools/xenstat/libxenstat/Makefile
++index 7c13c06..75b4b68 100644
++--- a/tools/xenstat/libxenstat/Makefile
+++++ b/tools/xenstat/libxenstat/Makefile
++@@ -20,7 +20,7 @@ MAKE_LINK=ln -sf
++ 
++ LIB=src/libxenstat.a
++ SHLIB=src/libxenstat.so
++-OBJECTS-y=src/xenstat.o
+++OBJECTS-y=src/xenstat.o src/xenstat_qmp.o
++ OBJECTS-$(CONFIG_Linux) += src/xenstat_linux.o
++ OBJECTS-$(CONFIG_SunOS) += src/xenstat_solaris.o
++ OBJECTS-$(CONFIG_NetBSD) += src/xenstat_netbsd.o
++@@ -46,9 +46,11 @@ $(SHLIB): $(OBJECTS-y)
++ 
++ .PHONY: install
++ install: all
+++     $(INSTALL_DIR) $(DESTDIR)$(includedir)
+++     $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_LIB)
++      $(INSTALL_DATA) src/xenstat.h $(DESTDIR)$(includedir)
++      $(INSTALL_DATA) $(LIB) $(DESTDIR)$(libdir)/libxenstat.a
++-     $(INSTALL_PROG) src/libxenstat.so $(DESTDIR)$(libdir)
+++     $(INSTALL_PROG) src/libxenstat.so $(DESTDIR)$(LIBEXEC_LIB)
++ 
++ PYLIB=bindings/swig/python/_xenstat.so
++ PYMOD=bindings/swig/python/xenstat.py
++diff --git a/tools/xenstat/xentop/Makefile b/tools/xenstat/xentop/Makefile
++index 1cc393f..167e5db 100644
++--- a/tools/xenstat/xentop/Makefile
+++++ b/tools/xenstat/xentop/Makefile
++@@ -19,7 +19,9 @@ all install xentop:
++ else
++ 
++ CFLAGS += -DGCC_PRINTF -Werror $(CFLAGS_libxenstat)
+++LDFLAGS += $(call LDFLAGS_RPATH,../lib)
++ LDLIBS += $(LDLIBS_libxenstat) $(CURSES_LIBS) $(TINFO_LIBS) $(SOCKET_LIBS) -lm -lyajl
+++LDLIBS += $(LDLIBS_libxenctrl) $(LDLIBS_libxenstore)
++ CFLAGS += -DHOST_$(XEN_OS)
++ 
++ # Include configure output (config.h)
++@@ -31,8 +33,8 @@ all: xentop
++ 
++ .PHONY: install
++ install: xentop
++-     $(INSTALL_DIR) $(DESTDIR)$(sbindir)
++-     $(INSTALL_PROG) xentop $(DESTDIR)$(sbindir)/xentop
+++     $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+++     $(INSTALL_PROG) xentop $(DESTDIR)$(LIBEXEC_BIN)/xentop
++ 
++ endif
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b469fdf4038cec6e0acda2bf45427cbbee1f2cbb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,62 @@@
++From 28d59f50f74be1598e306dccebbf037046452097 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:36 +0200
++Subject: tools-xenstore-compatibility.diff
++
++Patch-Name: tools-xenstore-compatibility.diff
++---
++ tools/xenstore/include/xenstore.h | 1 +
++ tools/xenstore/xenstore_client.c  | 2 +-
++ tools/xenstore/xs.c               | 4 +++-
++ 3 files changed, 5 insertions(+), 2 deletions(-)
++
++diff --git a/tools/xenstore/include/xenstore.h b/tools/xenstore/include/xenstore.h
++index 42c0dc7..8a9c5c2 100644
++--- a/tools/xenstore/include/xenstore.h
+++++ b/tools/xenstore/include/xenstore.h
++@@ -25,6 +25,7 @@
++ 
++ #define XS_OPEN_READONLY     1UL<<0
++ #define XS_OPEN_SOCKETONLY      1UL<<1
+++#define XS_OPEN_DOMAINONLY      1UL<<2
++ 
++ /*
++  * Setting XS_UNWATCH_FILTER arranges that after xs_unwatch, no
++diff --git a/tools/xenstore/xenstore_client.c b/tools/xenstore/xenstore_client.c
++index 3d14d37..d7ae1ec 100644
++--- a/tools/xenstore/xenstore_client.c
+++++ b/tools/xenstore/xenstore_client.c
++@@ -636,7 +636,7 @@ main(int argc, char **argv)
++          max_width = ws.ws_col - 2;
++     }
++ 
++-    xsh = xs_open(socket ? XS_OPEN_SOCKETONLY : 0);
+++    xsh = xs_open(socket ? XS_OPEN_SOCKETONLY : XS_OPEN_DOMAINONLY);
++     if (xsh == NULL) err(1, "xs_open");
++ 
++ again:
++diff --git a/tools/xenstore/xs.c b/tools/xenstore/xs.c
++index d1e01ba..be82927 100644
++--- a/tools/xenstore/xs.c
+++++ b/tools/xenstore/xs.c
++@@ -281,17 +281,19 @@ struct xs_handle *xs_daemon_open_readonly(void)
++ 
++ struct xs_handle *xs_domain_open(void)
++ {
++-     return xs_open(0);
+++     return xs_open(XS_OPEN_DOMAINONLY);
++ }
++ 
++ struct xs_handle *xs_open(unsigned long flags)
++ {
++      struct xs_handle *xsh = NULL;
++ 
+++     if (!(flags & XS_OPEN_DOMAINONLY)) {
++      if (flags & XS_OPEN_READONLY)
++              xsh = get_handle(xs_daemon_socket_ro());
++      else
++              xsh = get_handle(xs_daemon_socket());
+++     }
++ 
++      if (!xsh && !(flags & XS_OPEN_SOCKETONLY))
++              xsh = get_handle(xs_domain_dev());
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a4a7a46236a98a4463da7bb7c65950dc566fc44f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,53 @@@
++From ae26990012e9cbbf3c49b4dd3c2a6df3b81d6019 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:12 +0200
++Subject: tools-xenstore-prefix.diff
++
++Patch-Name: tools-xenstore-prefix.diff
++---
++ tools/xenstore/Makefile | 12 +++++++-----
++ 1 file changed, 7 insertions(+), 5 deletions(-)
++
++diff --git a/tools/xenstore/Makefile b/tools/xenstore/Makefile
++index 1b4a494..f837c6e 100644
++--- a/tools/xenstore/Makefile
+++++ b/tools/xenstore/Makefile
++@@ -18,6 +18,8 @@ LDFLAGS-$(CONFIG_SYSTEMD) += $(SYSTEMD_LIBS)
++ CFLAGS  += $(CFLAGS-y)
++ LDFLAGS += $(LDFLAGS-y)
++ 
+++LDFLAGS_libxenctrl += $(call LDFLAGS_RPATH,../lib)
+++
++ CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmod
++ CLIENTS += xenstore-write xenstore-ls xenstore-watch
++ 
++@@ -75,10 +77,10 @@ endif
++ init-xenstore-domain.o: CFLAGS += $(CFLAGS_libxenguest)
++ 
++ init-xenstore-domain: init-xenstore-domain.o $(LIBXENSTORE)
++-     $(CC) $^ $(LDFLAGS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) -o $@ $(APPEND_LDFLAGS)
+++     $(CC) $^ $(LDFLAGS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(call LDFLAGS_RPATH,../lib) -o $@ $(APPEND_LDFLAGS)
++ 
++ xenstored: $(XENSTORED_OBJS)
++-     $(CC) $^ $(LDFLAGS) $(LDLIBS_libxenctrl) $(SOCKET_LIBS) -o $@ $(APPEND_LDFLAGS)
+++     $(CC) $^ $(LDFLAGS) $(LDLIBS_libxenctrl) $(SOCKET_LIBS) $(call LDFLAGS_RPATH,../lib) -o $@ $(APPEND_LDFLAGS)
++ 
++ xenstored.a: $(XENSTORED_OBJS)
++      $(AR) cr $@ $^
++@@ -131,13 +133,13 @@ tarball: clean
++ install: all
++      $(INSTALL_DIR) $(DESTDIR)$(bindir)
++      $(INSTALL_DIR) $(DESTDIR)$(includedir)
+++     $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
++      $(INSTALL_DIR) $(DESTDIR)$(includedir)/xenstore-compat
++ ifeq ($(XENSTORE_XENSTORED),y)
++-     $(INSTALL_DIR) $(DESTDIR)$(sbindir)
++      $(INSTALL_DIR) $(DESTDIR)$(XEN_LIB_STORED)
++-     $(INSTALL_PROG) xenstored $(DESTDIR)$(sbindir)
+++     $(INSTALL_PROG) xenstored $(DESTDIR)$(LIBEXEC_BIN)
++ endif
++-     $(INSTALL_PROG) xenstore-control $(DESTDIR)$(bindir)
+++     $(INSTALL_PROG) xenstore-control $(DESTDIR)$(LIBEXEC_BIN)
++      $(INSTALL_PROG) xenstore $(DESTDIR)$(bindir)
++      set -e ; for c in $(CLIENTS) ; do \
++              ln -f $(DESTDIR)$(bindir)/xenstore $(DESTDIR)$(bindir)/$${c} ; \
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..43d880c4f09d17b6bcff591b8e235965047453c3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,41 @@@
++From 94b9f1f7d68bd52d07a4709e7cc9c99cd7ab9647 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:47:14 +0200
++Subject: tools-xentrace-prefix.diff
++
++Patch-Name: tools-xentrace-prefix.diff
++---
++ tools/xentrace/Makefile | 13 ++++---------
++ 1 file changed, 4 insertions(+), 9 deletions(-)
++
++diff --git a/tools/xentrace/Makefile b/tools/xentrace/Makefile
++index 6c13cd1..a436718 100644
++--- a/tools/xentrace/Makefile
+++++ b/tools/xentrace/Makefile
++@@ -5,6 +5,7 @@ CFLAGS += -Werror
++ 
++ CFLAGS += $(CFLAGS_libxenctrl)
++ LDLIBS += $(LDLIBS_libxenctrl) $(ARGP_LDFLAGS)
+++LDFLAGS += $(call LDFLAGS_RPATH,../lib)
++ 
++ BIN-$(CONFIG_X86) = xenalyze
++ BIN      = $(BIN-y)
++@@ -20,15 +21,9 @@ build: $(BIN) $(SBIN) $(LIBBIN)
++ 
++ .PHONY: install
++ install: build
++-     $(INSTALL_DIR) $(DESTDIR)$(bindir)
++-     $(INSTALL_DIR) $(DESTDIR)$(sbindir)
++-     [ -z "$(LIBBIN)" ] || $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
++-ifneq ($(BIN),)
++-     $(INSTALL_PROG) $(BIN) $(DESTDIR)$(bindir)
++-endif
++-     $(INSTALL_PROG) $(SBIN) $(DESTDIR)$(sbindir)
++-     $(INSTALL_PYTHON_PROG) $(SCRIPTS) $(DESTDIR)$(bindir)
++-     [ -z "$(LIBBIN)" ] || $(INSTALL_PROG) $(LIBBIN) $(DESTDIR)$(LIBEXEC_BIN)
+++     $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+++     $(INSTALL_PROG) $(BIN) $(SBIN) $(LIBBIN) $(DESTDIR)$(LIBEXEC_BIN)
+++     $(INSTALL_PYTHON_PROG) $(SCRIPTS) $(DESTDIR)$(LIBEXEC_BIN)
++ 
++ .PHONY: clean
++ clean:
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5850257b6891cbf3146e8a9b61a0bcb4d48d8dfb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,167 @@@
++From 200fc5d2a81fd82c09c574bb5fe69060a6ba2554 Mon Sep 17 00:00:00 2001
++From: Bastian Blank <waldi@debian.org>
++Date: Sat, 5 Jul 2014 11:46:43 +0200
++Subject: version
++
++Patch-Name: version.diff
++---
++ xen/Makefile                 |  8 +++++---
++ xen/common/kernel.c          |  4 ++--
++ xen/common/version.c         | 21 +++++++++++----------
++ xen/drivers/char/console.c   |  9 +++------
++ xen/include/xen/compile.h.in |  8 ++++----
++ xen/include/xen/version.h    |  8 ++++----
++ 6 files changed, 29 insertions(+), 29 deletions(-)
++
++diff --git a/xen/Makefile b/xen/Makefile
++index 4c54e9b..007b1a0 100644
++--- a/xen/Makefile
+++++ b/xen/Makefile
++@@ -129,7 +129,7 @@ delete-unfresh-files:
++      @mv -f $@.tmp $@
++ 
++ # compile.h contains dynamic build info. Rebuilt on every 'make' invocation.
++-include/xen/compile.h: include/xen/compile.h.in .banner
+++include/xen/compile.h: include/xen/compile.h.in
++      @sed -e 's/@@date@@/$(XEN_BUILD_DATE)/g' \
++          -e 's/@@time@@/$(XEN_BUILD_TIME)/g' \
++          -e 's/@@whoami@@/$(XEN_WHOAMI)/g' \
++@@ -140,9 +140,11 @@ include/xen/compile.h: include/xen/compile.h.in .banner
++          -e 's/@@subversion@@/$(XEN_SUBVERSION)/g' \
++          -e 's/@@extraversion@@/$(XEN_EXTRAVERSION)/g' \
++          -e 's!@@changeset@@!$(shell tools/scmversion $(XEN_ROOT) || echo "unavailable")!g' \
+++         -e 's/@@system_distribution@@/$(shell lsb_release -is)/g' \
+++         -e 's/@@system_maintainer_domain@@/$(shell cd ../../../..; dpkg-parsechangelog | sed -ne 's,^Maintainer: .[^<]*<[^@>]*@\([^>]*\)>,\1,p')/g' \
+++         -e 's/@@system_maintainer_local@@/$(shell cd ../../../..; dpkg-parsechangelog | sed -ne 's,^Maintainer: .[^<]*<\([^@>]*\)@.*>,\1,p')/g' \
+++         -e 's/@@system_version@@/$(shell cd ../../../..; dpkg-parsechangelog | awk '/^Version:/ {print $$2}')/g' \
++          < include/xen/compile.h.in > $@.new
++-     @cat .banner
++-     @$(PYTHON) tools/fig-to-oct.py < .banner >> $@.new
++      @mv -f $@.new $@
++ 
++ include/asm-$(TARGET_ARCH)/asm-offsets.h: arch/$(TARGET_ARCH)/asm-offsets.s
++diff --git a/xen/common/kernel.c b/xen/common/kernel.c
++index 6a3196a..80c1950 100644
++--- a/xen/common/kernel.c
+++++ b/xen/common/kernel.c
++@@ -251,8 +251,8 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
++ 
++         memset(&info, 0, sizeof(info));
++         safe_strcpy(info.compiler,       xen_compiler());
++-        safe_strcpy(info.compile_by,     xen_compile_by());
++-        safe_strcpy(info.compile_domain, xen_compile_domain());
+++        safe_strcpy(info.compile_by,     xen_compile_system_maintainer_local());
+++        safe_strcpy(info.compile_domain, xen_compile_system_maintainer_domain());
++         safe_strcpy(info.compile_date,   xen_compile_date());
++         if ( copy_to_guest(arg, &info, 1) )
++             return -EFAULT;
++diff --git a/xen/common/version.c b/xen/common/version.c
++index b152e27..7b5af55 100644
++--- a/xen/common/version.c
+++++ b/xen/common/version.c
++@@ -11,19 +11,24 @@ const char *xen_compile_time(void)
++     return XEN_COMPILE_TIME;
++ }
++ 
++-const char *xen_compile_by(void)
+++const char *xen_compile_system_distribution(void)
++ {
++-    return XEN_COMPILE_BY;
+++    return XEN_COMPILE_SYSTEM_DISTRIBUTION;
++ }
++ 
++-const char *xen_compile_domain(void)
+++const char *xen_compile_system_maintainer_local(void)
++ {
++-    return XEN_COMPILE_DOMAIN;
+++    return XEN_COMPILE_SYSTEM_MAINTAINER_LOCAL;
++ }
++ 
++-const char *xen_compile_host(void)
+++const char *xen_compile_system_maintainer_domain(void)
++ {
++-    return XEN_COMPILE_HOST;
+++    return XEN_COMPILE_SYSTEM_MAINTAINER_DOMAIN;
+++}
+++
+++const char *xen_compile_system_version(void)
+++{
+++    return XEN_COMPILE_SYSTEM_VERSION;
++ }
++ 
++ const char *xen_compiler(void)
++@@ -51,7 +56,3 @@ const char *xen_changeset(void)
++     return XEN_CHANGESET;
++ }
++ 
++-const char *xen_banner(void)
++-{
++-    return XEN_BANNER;
++-}
++diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
++index fce4cc8..0bd02ce 100644
++--- a/xen/drivers/char/console.c
+++++ b/xen/drivers/char/console.c
++@@ -727,14 +727,11 @@ void __init console_init_preirq(void)
++     serial_set_rx_handler(sercon_handle, serial_rx);
++ 
++     /* HELLO WORLD --- start-of-day banner text. */
++-    spin_lock(&console_lock);
++-    __putstr(xen_banner());
++-    spin_unlock(&console_lock);
++-    printk("Xen version %d.%d%s (%s@%s) (%s) debug=%c %s\n",
+++    printk("Xen version %d.%d%s (%s %s) (%s@%s) (%s) debug=%c %s\n",
++            xen_major_version(), xen_minor_version(), xen_extra_version(),
++-           xen_compile_by(), xen_compile_domain(),
+++           xen_compile_system_distribution(), xen_compile_system_version(),
+++           xen_compile_system_maintainer_local(), xen_compile_system_maintainer_domain(),
++            xen_compiler(), debug_build() ? 'y' : 'n', xen_compile_date());
++-    printk("Latest ChangeSet: %s\n", xen_changeset());
++ 
++     if ( opt_sync_console )
++     {
++diff --git a/xen/include/xen/compile.h.in b/xen/include/xen/compile.h.in
++index 440ecb2..0c3ca58 100644
++--- a/xen/include/xen/compile.h.in
+++++ b/xen/include/xen/compile.h.in
++@@ -1,8 +1,9 @@
++ #define XEN_COMPILE_DATE     "@@date@@"
++ #define XEN_COMPILE_TIME     "@@time@@"
++-#define XEN_COMPILE_BY               "@@whoami@@"
++-#define XEN_COMPILE_DOMAIN   "@@domain@@"
++-#define XEN_COMPILE_HOST     "@@hostname@@"
+++#define XEN_COMPILE_SYSTEM_DISTRIBUTION              "@@system_distribution@@"
+++#define XEN_COMPILE_SYSTEM_MAINTAINER_DOMAIN "@@system_maintainer_domain@@"
+++#define XEN_COMPILE_SYSTEM_MAINTAINER_LOCAL  "@@system_maintainer_local@@"
+++#define XEN_COMPILE_SYSTEM_VERSION           "@@system_version@@"
++ #define XEN_COMPILER         "@@compiler@@"
++ 
++ #define XEN_VERSION          @@version@@
++@@ -10,4 +11,3 @@
++ #define XEN_EXTRAVERSION     "@@extraversion@@"
++ 
++ #define XEN_CHANGESET                "@@changeset@@"
++-#define XEN_BANNER           \
++diff --git a/xen/include/xen/version.h b/xen/include/xen/version.h
++index 81a3c7d..c25937e 100644
++--- a/xen/include/xen/version.h
+++++ b/xen/include/xen/version.h
++@@ -3,14 +3,14 @@
++ 
++ const char *xen_compile_date(void);
++ const char *xen_compile_time(void);
++-const char *xen_compile_by(void);
++-const char *xen_compile_domain(void);
++-const char *xen_compile_host(void);
+++const char *xen_compile_system_distribution(void);
+++const char *xen_compile_system_maintainer_domain(void);
+++const char *xen_compile_system_maintainer_local(void);
+++const char *xen_compile_system_version(void);
++ const char *xen_compiler(void);
++ unsigned int xen_major_version(void);
++ unsigned int xen_minor_version(void);
++ const char *xen_extra_version(void);
++ const char *xen_changeset(void);
++-const char *xen_banner(void);
++ 
++ #endif /* __XEN_VERSION_H__ */
diff --cc debian/pycompat
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0cfbf08886fca9a91cb753ec8734c84fcbe52c9f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++2
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..08c6f19c620a22a7634874849a3d3c9f6abc619d
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,70 @@@
++#!/usr/bin/make -f
++
++# Uncomment this to turn on verbose mode.
++#export DH_VERBOSE=1
++
++include /usr/share/dpkg/default.mk
++
++SOURCE := $(shell dpkg-parsechangelog | sed -ne 's,^Source: *\(.*\)$$,\1,p')
++VERSION_BINNMU := $(shell echo "$(DEB_VERSION)" | sed -ne 's,.*\+b\(.*\)$$,\1,p')
++
++include debian/rules.defs
++
++setup: debian/control
++      dh_testdir
++      $(MAKE) -f debian/rules.gen setup_$(DEB_HOST_ARCH)
++
++build: build-arch build-indep
++
++build-arch: setup
++      dh_testdir
++      $(MAKE) -f debian/rules.gen build-arch_$(DEB_HOST_ARCH)
++
++build-indep: setup
++      dh_testdir
++      $(MAKE) -f debian/rules.gen build-indep
++
++maintainerclean:
++      rm -f debian/control* debian/rules.gen debian/xen-hypervisor-* debian/xen-utils-[0-9]*
++
++clean: debian/control
++      dh_testdir
++      rm -rf $(BUILD_DIR) $(STAMPS_DIR) debian/lib/python/debian_xen/__pycache__
++      dh_clean
++
++binary-indep:
++      dh_testdir
++      $(MAKE) -f debian/rules.gen binary-indep
++
++binary-arch:
++      dh_testdir
++      $(MAKE) -f debian/rules.gen binary-arch_$(DEB_HOST_ARCH)
++
++binary:       binary-indep binary-arch
++
++CONTROL_FILES += debian/changelog debian/bin/gencontrol.py $(wildcard debian/templates/*.in) 
++CONTROL_FILES += $(wildcard debian/arch/defines) $(wildcard debian/arch/*/defines)
++GENCONTROL = $(__MODULES_DIR)gencontrol.py
++debian/control debian/rules.gen: $(CONTROL_FILES)
++ifeq ($(wildcard debian/control.md5sum),)
++      $(MAKE) -f debian/rules debian/control-real
++else ifeq ($(VERSION_BINNMU),)
++      md5sum --check debian/control.md5sum --status || \
++              $(MAKE) -f debian/rules debian/control-real
++else
++      grep -v debian/changelog debian/control.md5sum | md5sum --check - --status || \
++              $(MAKE) -f debian/rules debian/control-real
++endif
++
++debian/control-real: $(CONTROL_FILES)
++      debian/bin/gencontrol.py
++      md5sum $^ > debian/control.md5sum
++      @echo
++      @echo This target is made to fail intentionally, to make sure
++      @echo that it is NEVER run during the automated build. Please
++      @echo ignore the following error, the debian/control file has
++      @echo been generated SUCCESSFULLY.
++      @echo
++      exit 1
++
++.PHONY: clean build binary-indep binary-arch binary
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2aab2ce7a664017151ea8825d990eb35fdcd823a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++KERNELVERSION := 4.2.0-1
++BUILD_DIR = debian/build
++STAMPS_DIR = debian/stamps
++TEMPLATES_DIR = debian/templates
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d528dac9d690d0ed107505287b5f0bd0805341fb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,120 @@@
++.NOTPARALLEL:
++binary-arch: binary-arch_amd64 binary-arch_arm64 binary-arch_armhf binary-arch_i386
++binary-arch_amd64: binary-arch_amd64_none binary-arch_amd64_real
++binary-arch_amd64_none: binary-arch_amd64_none_amd64 binary-arch_amd64_none_real
++binary-arch_amd64_none_amd64:: binary-arch_amd64_none_amd64_real
++binary-arch_amd64_none_amd64::
++      $(MAKE) -f debian/rules.real binary-arch-flavour ARCH='amd64' FEATURESET='none' FLAVOUR='amd64' IMAGE_SUFFIX='.gz' VERSION='4.6' XEN_ARCH='x86_64'
++      $(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-pxen-system-amd64' ARCH='amd64' FEATURESET='none' FLAVOUR='amd64' IMAGE_SUFFIX='.gz' VERSION='4.6' XEN_ARCH='x86_64'
++binary-arch_amd64_none_amd64_real:
++binary-arch_amd64_none_real:
++binary-arch_amd64_real::
++      $(MAKE) -f debian/rules.real binary-arch-arch ARCH='amd64' VERSION='4.6' XEN_ARCH='x86_64'
++binary-arch_arm64: binary-arch_arm64_none binary-arch_arm64_real
++binary-arch_arm64_none: binary-arch_arm64_none_arm64 binary-arch_arm64_none_real
++binary-arch_arm64_none_arm64:: binary-arch_arm64_none_arm64_real
++binary-arch_arm64_none_arm64::
++      $(MAKE) -f debian/rules.real binary-arch-flavour ARCH='arm64' FEATURESET='none' FLAVOUR='arm64' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm64'
++      $(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-pxen-system-arm64' ARCH='arm64' FEATURESET='none' FLAVOUR='arm64' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm64'
++binary-arch_arm64_none_arm64_real:
++binary-arch_arm64_none_real:
++binary-arch_arm64_real::
++      $(MAKE) -f debian/rules.real binary-arch-arch ARCH='arm64' VERSION='4.6' XEN_ARCH='arm64'
++binary-arch_armhf: binary-arch_armhf_none binary-arch_armhf_real
++binary-arch_armhf_none: binary-arch_armhf_none_armhf binary-arch_armhf_none_real
++binary-arch_armhf_none_armhf:: binary-arch_armhf_none_armhf_real
++binary-arch_armhf_none_armhf::
++      $(MAKE) -f debian/rules.real binary-arch-flavour ARCH='armhf' FEATURESET='none' FLAVOUR='armhf' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm32'
++      $(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-pxen-system-armhf' ARCH='armhf' FEATURESET='none' FLAVOUR='armhf' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm32'
++binary-arch_armhf_none_armhf_real:
++binary-arch_armhf_none_real:
++binary-arch_armhf_real::
++      $(MAKE) -f debian/rules.real binary-arch-arch ARCH='armhf' VERSION='4.6' XEN_ARCH='arm32'
++binary-arch_i386: binary-arch_i386_none binary-arch_i386_real
++binary-arch_i386_none: binary-arch_i386_none_amd64 binary-arch_i386_none_real
++binary-arch_i386_none_amd64:: binary-arch_i386_none_amd64_real
++binary-arch_i386_none_amd64::
++      $(MAKE) -f debian/rules.real binary-arch-flavour ARCH='i386' FEATURESET='none' FLAVOUR='amd64' VERSION='4.6' XEN_ARCH='x86_64'
++      $(MAKE) -f debian/rules.real install-dummy DH_OPTIONS='-pxen-system-amd64' ARCH='i386' FEATURESET='none' FLAVOUR='amd64' VERSION='4.6' XEN_ARCH='x86_64'
++binary-arch_i386_none_amd64_real:
++binary-arch_i386_none_real:
++binary-arch_i386_real::
++      $(MAKE) -f debian/rules.real binary-arch-arch ARCH='i386' VERSION='4.6' XEN_ARCH='x86_32'
++binary-indep::
++      $(MAKE) -f debian/rules.real binary-indep VERSION='4.6'
++build-arch: build-arch_amd64 build-arch_arm64 build-arch_armhf build-arch_i386
++build-arch_amd64: build-arch_amd64_none build-arch_amd64_real
++build-arch_amd64_none: build-arch_amd64_none_amd64 build-arch_amd64_none_real
++build-arch_amd64_none_amd64:: build-arch_amd64_none_amd64_real
++build-arch_amd64_none_amd64::
++      $(MAKE) -f debian/rules.real build-arch-flavour ARCH='amd64' FEATURESET='none' FLAVOUR='amd64' IMAGE_SUFFIX='.gz' VERSION='4.6' XEN_ARCH='x86_64'
++build-arch_amd64_none_amd64_real:
++build-arch_amd64_none_real:
++build-arch_amd64_real::
++      $(MAKE) -f debian/rules.real build-arch-arch ARCH='amd64' VERSION='4.6' XEN_ARCH='x86_64'
++build-arch_arm64: build-arch_arm64_none build-arch_arm64_real
++build-arch_arm64_none: build-arch_arm64_none_arm64 build-arch_arm64_none_real
++build-arch_arm64_none_arm64:: build-arch_arm64_none_arm64_real
++build-arch_arm64_none_arm64::
++      $(MAKE) -f debian/rules.real build-arch-flavour ARCH='arm64' FEATURESET='none' FLAVOUR='arm64' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm64'
++build-arch_arm64_none_arm64_real:
++build-arch_arm64_none_real:
++build-arch_arm64_real::
++      $(MAKE) -f debian/rules.real build-arch-arch ARCH='arm64' VERSION='4.6' XEN_ARCH='arm64'
++build-arch_armhf: build-arch_armhf_none build-arch_armhf_real
++build-arch_armhf_none: build-arch_armhf_none_armhf build-arch_armhf_none_real
++build-arch_armhf_none_armhf:: build-arch_armhf_none_armhf_real
++build-arch_armhf_none_armhf::
++      $(MAKE) -f debian/rules.real build-arch-flavour ARCH='armhf' FEATURESET='none' FLAVOUR='armhf' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm32'
++build-arch_armhf_none_armhf_real:
++build-arch_armhf_none_real:
++build-arch_armhf_real::
++      $(MAKE) -f debian/rules.real build-arch-arch ARCH='armhf' VERSION='4.6' XEN_ARCH='arm32'
++build-arch_i386: build-arch_i386_none build-arch_i386_real
++build-arch_i386_none: build-arch_i386_none_amd64 build-arch_i386_none_real
++build-arch_i386_none_amd64:: build-arch_i386_none_amd64_real
++build-arch_i386_none_amd64::
++      $(MAKE) -f debian/rules.real build-arch-flavour ARCH='i386' FEATURESET='none' FLAVOUR='amd64' VERSION='4.6' XEN_ARCH='x86_64'
++build-arch_i386_none_amd64_real:
++build-arch_i386_none_real:
++build-arch_i386_real::
++      $(MAKE) -f debian/rules.real build-arch-arch ARCH='i386' VERSION='4.6' XEN_ARCH='x86_32'
++build-indep::
++      $(MAKE) -f debian/rules.real build-indep VERSION='4.6'
++setup: setup_amd64 setup_arm64 setup_armhf setup_i386
++setup_amd64: setup_amd64_none setup_amd64_real
++setup_amd64_none: setup_amd64_none_amd64 setup_amd64_none_real
++setup_amd64_none_amd64:: setup_amd64_none_amd64_real
++setup_amd64_none_amd64::
++      $(MAKE) -f debian/rules.real setup-flavour ARCH='amd64' FEATURESET='none' FLAVOUR='amd64' IMAGE_SUFFIX='.gz' VERSION='4.6' XEN_ARCH='x86_64'
++setup_amd64_none_amd64_real:
++setup_amd64_none_real:
++setup_amd64_real::
++      $(MAKE) -f debian/rules.real setup-arch ARCH='amd64' VERSION='4.6' XEN_ARCH='x86_64'
++setup_arm64: setup_arm64_none setup_arm64_real
++setup_arm64_none: setup_arm64_none_arm64 setup_arm64_none_real
++setup_arm64_none_arm64:: setup_arm64_none_arm64_real
++setup_arm64_none_arm64::
++      $(MAKE) -f debian/rules.real setup-flavour ARCH='arm64' FEATURESET='none' FLAVOUR='arm64' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm64'
++setup_arm64_none_arm64_real:
++setup_arm64_none_real:
++setup_arm64_real::
++      $(MAKE) -f debian/rules.real setup-arch ARCH='arm64' VERSION='4.6' XEN_ARCH='arm64'
++setup_armhf: setup_armhf_none setup_armhf_real
++setup_armhf_none: setup_armhf_none_armhf setup_armhf_none_real
++setup_armhf_none_armhf:: setup_armhf_none_armhf_real
++setup_armhf_none_armhf::
++      $(MAKE) -f debian/rules.real setup-flavour ARCH='armhf' FEATURESET='none' FLAVOUR='armhf' IMAGE_SUFFIX='' VERSION='4.6' XEN_ARCH='arm32'
++setup_armhf_none_armhf_real:
++setup_armhf_none_real:
++setup_armhf_real::
++      $(MAKE) -f debian/rules.real setup-arch ARCH='armhf' VERSION='4.6' XEN_ARCH='arm32'
++setup_i386: setup_i386_none setup_i386_real
++setup_i386_none: setup_i386_none_amd64 setup_i386_none_real
++setup_i386_none_amd64:: setup_i386_none_amd64_real
++setup_i386_none_amd64::
++      $(MAKE) -f debian/rules.real setup-flavour ARCH='i386' FEATURESET='none' FLAVOUR='amd64' VERSION='4.6' XEN_ARCH='x86_64'
++setup_i386_none_amd64_real:
++setup_i386_none_real:
++setup_i386_real::
++      $(MAKE) -f debian/rules.real setup-arch ARCH='i386' VERSION='4.6' XEN_ARCH='x86_32'
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9fcfb7afc6f5ed1247dc0969c69bc4ea70217f5a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,252 @@@
++include /usr/share/dpkg/default.mk
++
++export DH_OPTIONS
++
++setup_env := env -u ARCH -u FLAVOUR -u VERSION -u MAKEFLAGS
++
++MAKE_CLEAN = $(setup_env) $(MAKE) V=1
++MAKE_SELF = $(MAKE) -f debian/rules.real
++
++include debian/rules.defs
++
++stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@
++
++binary-arch-arch: install-libxen_$(ARCH)
++binary-arch-arch: install-libxen-dev_$(ARCH)
++binary-arch-arch: install-libxenstore_$(ARCH)
++binary-arch-arch: install-utils_$(ARCH)
++binary-arch-arch: install-xenstore-utils_$(ARCH)
++binary-arch-flavour: install-hypervisor_$(ARCH)_$(FLAVOUR)
++
++binary-indep: install-utils-common
++
++build-arch-arch: $(STAMPS_DIR)/build-utils_$(ARCH)
++build-arch-flavour: $(STAMPS_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
++
++build-indep: $(STAMPS_DIR)/build-docs
++
++setup-arch: $(STAMPS_DIR)/setup-utils_$(ARCH)
++setup-flavour: $(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR)
++
++$(STAMPS_DIR)/setup-docs: SOURCE_FILES = $(filter-out debian, $(wildcard *))
++$(STAMPS_DIR)/setup-docs: DIR=$(BUILD_DIR)/build-docs
++$(STAMPS_DIR)/setup-docs:
++      @rm -rf $(DIR)
++      mkdir -p $(DIR)
++      cp -al $(SOURCE_FILES) $(DIR)
++      cp --remove-destination /usr/share/misc/config.guess /usr/share/misc/config.sub $(DIR)
++      cd $(DIR); \
++              WGET=/bin/false \
++              ./configure --disable-stubdom --disable-xen --prefix=/usr
++      @$(stamp)
++
++$(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR): SOURCE_FILES = $(filter-out debian, $(wildcard *))
++$(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR): DIR=$(BUILD_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
++$(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR):
++      @rm -rf $(DIR)
++      mkdir -p $(DIR)
++      cp -al $(SOURCE_FILES) $(DIR)
++      echo "XEN_VENDORVERSION := $(EXTRAVERSION)" > $(DIR)/xen/xen-version
++      @$(stamp)
++
++$(STAMPS_DIR)/setup-utils_$(ARCH): SOURCE_FILES = $(filter-out debian, $(wildcard *))
++$(STAMPS_DIR)/setup-utils_$(ARCH): DIR=$(BUILD_DIR)/build-utils_$(ARCH)
++$(STAMPS_DIR)/setup-utils_$(ARCH):
++      @rm -rf $(DIR)
++      mkdir -p $(DIR)
++      cp -al $(SOURCE_FILES) $(DIR)
++      cp --remove-destination /usr/share/misc/config.guess /usr/share/misc/config.sub $(DIR)
++      cd $(DIR); \
++              WGET=/bin/false \
++              ./configure \
++                      --disable-docs --disable-stubdom --disable-xen \
++                      --prefix=/usr \
++                      --includedir=/usr/include \
++                      --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
++                      --mandir=/usr/share/man \
++                      --infodir=/usr/share/info \
++                      --sysconfdir=/etc \
++                      --localstatedir=/var \
++                      --with-libexec-leaf-dir=xen-$(VERSION) \
++                      --disable-blktap1 \
++                      --disable-blktap2 \
++                      --disable-ocamltools \
++                      --disable-qemu-traditional --disable-rombios \
++                      --with-system-qemu=/usr/bin/qemu-system-i386 \
++                      --with-system-seabios=/usr/share/seabios/bios-256k.bin
++      @$(stamp)
++
++$(STAMPS_DIR)/build-docs: DIR=$(BUILD_DIR)/build-docs
++$(STAMPS_DIR)/build-docs: $(STAMPS_DIR)/setup-docs
++      +$(MAKE_CLEAN) -C $(DIR)/docs
++      touch $@
++
++$(STAMPS_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR): DIR=$(BUILD_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
++$(STAMPS_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR): $(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR)
++      +$(MAKE_CLEAN) -C $(DIR)/xen \
++              XEN_COMPILE_ARCH=$(XEN_ARCH) \
++              XEN_TARGET_ARCH=$(XEN_ARCH)
++      touch $@
++
++$(STAMPS_DIR)/build-utils_$(ARCH) \
++$(STAMPS_DIR)/install-utils_$(ARCH): CONFIG = \
++              debug=n \
++              XEN_COMPILE_ARCH=$(XEN_ARCH) \
++              XEN_TARGET_ARCH=$(XEN_ARCH) \
++              EXTRA_CFLAGS_XEN_TOOLS="$(CFLAGS)" \
++              APPEND_CPPFLAGS="$(CPPFLAGS)" \
++              APPEND_LDFLAGS="$(LDFLAGS)" \
++              OCAMLDESTDIR=$(CURDIR)/$(BUILD_DIR)/install-utils_$(ARCH)/$(OCAML_STDLIB_DIR) \
++              PYTHON=$(shell pyversions -r)
++
++$(STAMPS_DIR)/build-utils_$(ARCH): DIR=$(BUILD_DIR)/build-utils_$(ARCH)
++$(STAMPS_DIR)/build-utils_$(ARCH): $(STAMPS_DIR)/setup-utils_$(ARCH)
++      +$(MAKE_CLEAN) -C $(DIR)/tools $(CONFIG)
++      touch $@
++
++$(STAMPS_DIR)/install-utils_$(ARCH): DIR = $(BUILD_DIR)/build-utils_$(ARCH)
++$(STAMPS_DIR)/install-utils_$(ARCH): INSTALL_DIR = $(BUILD_DIR)/install-utils_$(ARCH)
++$(STAMPS_DIR)/install-utils_$(ARCH): $(STAMPS_DIR)/build-utils_$(ARCH)
++      @rm -rf $(INSTALL_DIR)
++      mkdir -p $(INSTALL_DIR)/$(OCAML_DLL_DIR)
++      +$(MAKE_CLEAN) -C $(DIR)/tools install DESTDIR=$(CURDIR)/$(INSTALL_DIR) $(CONFIG)
++ifneq ($(filter i386 amd64,$(ARCH)),)
++      # hvmloader
++      strip --remove-section=.comment --remove-section=.note $(INSTALL_DIR)/usr/lib/xen*/boot/*
++endif
++      touch $@
++
++$(STAMPS_DIR)/install-utils-common: DIR = $(BUILD_DIR)/build-docs
++$(STAMPS_DIR)/install-utils-common: INSTALL_DIR = $(BUILD_DIR)/install-utils-common
++$(STAMPS_DIR)/install-utils-common: export DESTDIR = $(CURDIR)/$(INSTALL_DIR)
++$(STAMPS_DIR)/install-utils-common: $(STAMPS_DIR)/build-docs
++      @rm -rf $(INSTALL_DIR)
++      +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/examples install-configs
++      +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/hotplug/common install-scripts
++      +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/hotplug/Linux install-scripts
++      +$(MAKE_CLEAN) -C debian/scripts install
++      touch $@
++
++install-base:
++      dh_installchangelogs -XChangelog
++      dh_installdirs
++      dh_installdocs
++      dh_installexamples
++      dh_compress
++      dh_fixperms
++      dh_installdeb
++      dh_gencontrol -- $(GENCONTROL_ARGS)
++      dh_md5sums
++      dh_builddeb
++
++install-dummy:
++      dh_testdir
++      dh_testroot
++      dh_prep
++      +$(MAKE_SELF) install-base
++
++install-hypervisor_$(ARCH)_$(FLAVOUR): DIR=$(BUILD_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
++install-hypervisor_$(ARCH)_$(FLAVOUR): PACKAGE_NAME = xen-hypervisor-$(VERSION)-$(FLAVOUR)
++install-hypervisor_$(ARCH)_$(FLAVOUR): DH_OPTIONS = -p$(PACKAGE_NAME)
++install-hypervisor_$(ARCH)_$(FLAVOUR): $(STAMPS_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
++      dh_testdir
++      dh_testroot
++      dh_prep
++      dh_installdirs boot
++      cp $(DIR)/xen/xen$(IMAGE_SUFFIX) debian/$(PACKAGE_NAME)/boot/xen-$(VERSION)-$(FLAVOUR)$(IMAGE_SUFFIX)
++ifeq ($(ARCH),amd64)
++      cp $(DIR)/xen/xen.efi debian/$(PACKAGE_NAME)/boot/xen-$(VERSION)-$(FLAVOUR).efi
++endif
++      +$(MAKE_SELF) install-base
++
++install-libxen_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
++install-libxen_$(ARCH): DH_OPTIONS = -plibxen-$(VERSION)
++install-libxen_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH) install-libxenstore_$(ARCH)
++      dh_testdir
++      dh_testroot
++      dh_prep
++      dh_install --sourcedir=$(DIR) usr/lib/*/lib*-$(VERSION).so
++      dh_strip
++      dh_makeshlibs -V
++      dh_shlibdeps
++      +$(MAKE_SELF) install-base
++
++install-libxen-dev_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
++install-libxen-dev_$(ARCH): PACKAGE_NAME = libxen-dev
++install-libxen-dev_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
++install-libxen-dev_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH)
++      dh_testdir
++      dh_testroot
++      dh_prep
++      dh_install --sourcedir=$(DIR)
++      dh_strip
++      dh_shlibdeps
++      +$(MAKE_SELF) install-base
++
++install-libxenstore_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
++install-libxenstore_$(ARCH): PACKAGE_NAME = libxenstore3.0
++install-libxenstore_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
++install-libxenstore_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH)
++      dh_testdir
++      dh_testroot
++      dh_prep
++      dh_install --sourcedir=$(DIR)
++      dh_strip
++      dh_makeshlibs -V
++      dh_shlibdeps
++      +$(MAKE_SELF) install-base
++
++install-utils_$(ARCH): SOURCE_DIR = $(BUILD_DIR)/build-utils_$(ARCH)
++install-utils_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
++install-utils_$(ARCH): PACKAGE_NAME = xen-utils-$(VERSION)
++install-utils_$(ARCH): PACKAGE_DIR = debian/$(PACKAGE_NAME)
++install-utils_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
++install-utils_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH) install-libxen_$(ARCH)
++      dh_testdir
++      dh_testroot
++      dh_prep
++      install -D -m644 debian/xen-utils.NEWS $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/NEWS
++      install -D -m644 debian/xen-utils.README.Debian $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/README.Debian
++      dh_install --sourcedir=$(DIR) usr/lib/xen-$(VERSION)
++      dh_lintian
++      ( echo -n "misc:Built-Using="; dpkg-query -f='$${source:Package} (= $${source:Version}), ' -W ipxe-qemu seabios; echo ) >> debian/$(PACKAGE_NAME).substvars
++      dh_python2 -V$(shell pyversions -rv) /usr/lib/xen-$(VERSION)
++      dh_strip
++      dh_makeshlibs -V
++      dh_shlibdeps
++      +$(MAKE_SELF) install-base
++
++install-utils-common: SOURCE_DIR = $(BUILD_DIR)/build-docs
++install-utils-common: DIR = $(BUILD_DIR)/install-utils-common
++install-utils-common: PACKAGE_NAME = xen-utils-common
++install-utils-common: DH_OPTIONS = -p$(PACKAGE_NAME)
++install-utils-common: $(STAMPS_DIR)/install-utils-common
++      dh_testdir
++      dh_testroot
++      dh_prep
++      dh_install -X .svn --sourcedir=$(DIR)
++      dh_installinit --name xen -- defaults 20 21
++      dh_installinit --name xend
++      dh_installinit --name xendomains --no-start -- defaults 21 20
++      dh_installman \
++              $(SOURCE_DIR)/docs/man1/* \
++              $(SOURCE_DIR)/docs/man5/* \
++              $(SOURCE_DIR)/docs/man8/*
++      dh_installdocs $(SOURCE_DIR)/docs/txt/misc
++      dh_link
++      dh_ucf
++      +$(MAKE_SELF) install-base
++
++install-xenstore-utils_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
++install-xenstore-utils_$(ARCH): PACKAGE_NAME = xenstore-utils
++install-xenstore-utils_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
++install-xenstore-utils_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH) install-libxenstore_$(ARCH)
++      dh_testdir
++      dh_testroot
++      dh_prep
++      dh_install --sourcedir=$(DIR)
++      dh_strip
++      dh_shlibdeps
++      +$(MAKE_SELF) install-base
++
++# vim: filetype=make
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..22d9a8241efb237a44748178ed0e5d07c1732000
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,52 @@@
++ETC_SCRIPTS = \
++      qemu-ifup
++
++GLOBAL_SCRIPTS = \
++      xen
++
++GLOBAL_TOOLSTACK_LINKS = \
++      xl \
++      xm
++
++GLOBAL_TOOLSTACK_WRAPPER = xen-toolstack-wrapper
++
++GLOBAL_UTILS_LINKS = \
++      xenperf \
++      xenpm \
++      xentop \
++      xentrace \
++      xentrace_format \
++      xentrace_setmask \
++      xentrace_setsize
++
++GLOBAL_UTILS_WRAPPER = xen-utils-wrapper
++
++PRIVATE_SCRIPTS = \
++      xen-dir \
++      xen-init-list \
++      xen-init-name \
++      xen-toolstack \
++      xen-version \
++      $(GLOBAL_TOOLSTACK_WRAPPER) \
++      $(GLOBAL_UTILS_WRAPPER)
++
++ETC_SCRIPTS_DIR = /etc/xen/scripts
++GLOBAL_SCRIPTS_DIR = /usr/sbin
++PRIVATE_SCRIPTS_DIR = /usr/lib/xen-common/bin
++
++install:
++      install -d $(DESTDIR)$(ETC_SCRIPTS_DIR)
++      install $(ETC_SCRIPTS) $(DESTDIR)$(ETC_SCRIPTS_DIR)
++      install -d $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)
++      install $(GLOBAL_SCRIPTS) $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)
++      @for i in $(GLOBAL_TOOLSTACK_LINKS); do \
++          echo ln -s $(PRIVATE_SCRIPTS_DIR)/$(GLOBAL_TOOLSTACK_WRAPPER) $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)/$$i; \
++          ln -s $(PRIVATE_SCRIPTS_DIR)/$(GLOBAL_TOOLSTACK_WRAPPER) $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)/$$i || exit 1; \
++        done
++      @for i in $(GLOBAL_UTILS_LINKS); do \
++          echo ln -s $(PRIVATE_SCRIPTS_DIR)/$(GLOBAL_UTILS_WRAPPER) $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)/$$i; \
++          ln -s $(PRIVATE_SCRIPTS_DIR)/$(GLOBAL_UTILS_WRAPPER) $(DESTDIR)$(GLOBAL_SCRIPTS_DIR)/$$i || exit 1; \
++      done
++      install -d $(DESTDIR)$(PRIVATE_SCRIPTS_DIR)
++      install $(PRIVATE_SCRIPTS) $(DESTDIR)$(PRIVATE_SCRIPTS_DIR)
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fce14b53d67bec4116b9f314783a898cff3bcd07
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,13 @@@
++#!/bin/sh
++
++echo -c 'config qemu network with xen bridge for '
++echo $*
++
++# Initialise a dummy MAC address. We choose the numerically
++# largest non-broadcast address to prevent the address getting
++# stolen by an Ethernet bridge for STP purposes.
++# (FE:FF:FF:FF:FF:FF)
++ip link set $1 address fe:ff:ff:ff:ff:ff || true
++
++ifconfig $1 0.0.0.0 up
++brctl addif $2 $1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a221e172d5c6d5d92c99371f478f44783796d78e
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++#!/bin/sh -e
++
++COMMAND="$(basename $0)"
++TOOLSTACK=$(. /usr/lib/xen-common/bin/xen-toolstack); RET=$?; [ $RET -eq 0 ] || exit $RET
++
++exec "$TOOLSTACK" "$@"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..32b5776cf3312fac7201f6c7aee1d9b6ed877c29
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++#!/bin/sh -e
++
++VERSION=$(. /usr/lib/xen-common/bin/xen-version); RET=$?; [ $RET -eq 0 ] || exit $RET
++
++if [ -d "/usr/lib/xen-$VERSION" ]; then
++    echo "/usr/lib/xen-$VERSION"
++else
++    echo "ERROR:  Can't find version $VERSION of xen utils, bailing out!" >&2
++    exit 127
++fi
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6a9ddbca7abc1c90bb87a22fb10d42990d9733c1
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,73 @@@
++#!/usr/bin/python
++
++import json
++import re
++import sys
++import subprocess
++
++
++class SXPParser(object):
++    tokenizer_rules = r""" (?P<open> \( ) | (?P<close> \) ) | (?P<whitespace> \s+ ) | [^()^\s]+ """
++    tokenizer_re = re.compile(tokenizer_rules, re.X)
++
++    @classmethod
++    def loads(cls, input):
++        data = []
++        stack = []
++        for match in self.tokenizer_re.finditer(input):
++            if match.group('open'):
++                stack.append([])
++            elif match.group('close'):
++                top = stack.pop()
++                if stack:
++                    stack[-1].append(top)
++                else:
++                    data.append(top)
++            elif match.group('whitespace'):
++                pass
++            else:
++                if stack:
++                    stack[-1].append(match.group())
++        return data
++
++
++class Data(object):
++    def __call__(self, out):
++        for domid, info in sorted(self.data.iteritems(), reverse=True):
++            if domid == 0:
++                continue
++            out.write('{!s} {}\n'.format(domid, *info))
++
++
++class DataJSON(Data):
++    def __init__(self, p):
++        s = json.loads(p)
++        self.data = d = {}
++        for i in s:
++            domid = i['domid']
++            name = i['config']['c_info']['name']
++            d[domid] = (name, )
++
++
++class DataSXP(Data):
++    def __init__(self, p):
++        s = SXPParser()(p)
++        self.data = d = {}
++        for i in s:
++            if i and i[0] == 'domain':
++                try:
++                    data = dict(j for j in i if len(j) == 2)
++                    domid = int(data['domid'])
++                    name = data['name']
++                    d[domid] = (name, )
++                except (KeyError, ValueError) as e:
++                    pass
++
++
++if __name__ == '__main__':
++    p = subprocess.check_output(('xen', 'list', '-l'))
++    if p[0] == '(':
++        d = DataSXP(p)
++    else:
++        d = DataJSON(p)
++    d(sys.stdout)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0efcb85da0ee054b595806e59690e0786f177ec5
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,61 @@@
++#!/usr/bin/python
++
++import json
++import re
++import sys
++import subprocess
++
++
++class SXPParser(object):
++    tokenizer_rules = r""" (?P<open> \( ) | (?P<close> \) ) | (?P<whitespace> \s+ ) | [^()^\s]+ """
++    tokenizer_re = re.compile(tokenizer_rules, re.X)
++
++    @classmethod
++    def loads(cls, input):
++        data = []
++        stack = []
++        for match in cls.tokenizer_re.finditer(input):
++            if match.group('open'):
++                stack.append([])
++            elif match.group('close'):
++                top = stack.pop()
++                if stack:
++                    stack[-1].append(top)
++                else:
++                    data.append(top)
++            elif match.group('whitespace'):
++                pass
++            else:
++                if stack:
++                    stack[-1].append(match.group())
++        return data
++
++
++class Data(object):
++    def __call__(self, out):
++        out.write('{}\n'.format(self.name))
++
++
++class DataJSON(Data):
++    def __init__(self, p):
++        s = json.loads(p)
++        self.name = s['config']['c_info']['name']
++
++
++class DataSXP(Data):
++    def __init__(self, p):
++        s = SXPParser.loads(p)
++        for i in s:
++            if i and i[0] == 'domain':
++                data = dict(j for j in i if len(j) == 2)
++                self.name = data['name']
++                break
++
++
++if __name__ == '__main__':
++    p = subprocess.check_output(('xen', 'create', '--quiet', '--dryrun', '--defconfig', sys.argv[1]))
++    if p[0] == '(':
++        d = DataSXP(p)
++    else:
++        d = DataJSON(p)
++    d(sys.stdout)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3a36fd05d6eece74e6b81f7d1ea60e48ab646cfc
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,42 @@@
++#!/bin/sh -e
++
++configfile=/etc/default/xen
++
++dir=$(. /usr/lib/xen-common/bin/xen-dir); ret=$?; [ $ret -eq 0 ] || exit $ret
++
++check() {
++    local PATH
++    if [ "$1" = xm ] || [ "$1" = xl ]; then
++        PATH="$dir/bin"
++    else
++        PATH="$dir/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
++    fi
++    command -v "$1" || :
++}
++
++if [ -e $configfile ]; then
++    . $configfile || true
++fi
++
++if [ "$TOOLSTACK" ]; then
++    cmd=$(check "$TOOLSTACK")
++    if [ "$cmd" ]; then
++        echo "$cmd"
++    else
++        echo "WARING:  Can't find toolstack $TOOLSTACK, fallback to default!" >&2
++        TOOLSTACK=
++    fi
++fi
++
++if [ -z "$TOOLSTACK" ]; then
++    cmd_xm=$(check xm)
++    cmd_xl=$(check xl)
++    if [ "$cmd_xm" ]; then
++        echo "$cmd_xm"
++    elif [ "$cmd_xl" ]; then
++        echo "$cmd_xl"
++    else
++        echo "ERROR:  Toolstack not specifed and nothing detected, bailing out!" >&2
++        exit 127
++    fi
++fi
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f76d2ef4b875752f7d38dc410e3ea32baab096c3
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++#!/bin/sh -e
++
++COMMAND="$(basename $0)"
++TOOLSTACK=$(. /usr/lib/xen-common/bin/xen-toolstack); RET=$?; [ $RET -eq 0 ] || exit $RET
++
++if [ "$(basename "$TOOLSTACK")" != "$COMMAND" ]; then
++    echo "ERROR:  A different toolstack ($(basename "$TOOLSTACK")) have been selected!" >&2
++    exit 1
++fi
++
++exec "$TOOLSTACK" "$@"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4d27a62d33962ff624c4fb4e1798cf6f1a4a6952
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++#!/bin/sh -e
++
++COMMAND="$(basename $0)"
++DIR=$(/usr/lib/xen-common/bin/xen-dir)
++
++exec "$DIR/bin/$COMMAND" "$@"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..492070a43b0754f86f42f868137ce26527c1a287
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,22 @@@
++#!/bin/sh -e
++
++error() {
++    echo "ERROR: " "$@" >&2
++    exit 1
++}
++
++if [ -e "/sys/hypervisor/type" ]; then
++    type="$(cat /sys/hypervisor/type)"
++    if [ "$type" = xen ]; then
++        DIR=/sys/hypervisor/version
++        VERSION="$(cat $DIR/major).$(cat $DIR/minor)"
++    elif [ -z "$type" ]; then
++        error "Can't read hypervisor type from sysfs!"
++    else
++        error "Hypervisor is not xen but '$type'!"
++    fi
++else
++    error "Can't find hypervisor information in sysfs!"
++fi
++
++echo "$VERSION"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..51a47f100d2e544be0db8d04a9677352192a81d8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Package: xen-hypervisor-@version@@localversion@
++Depends: ${misc:Depends}
++Provides: xen-hypervisor, xen-hypervisor-@version@, xen-hypervisor@localversion@
++Recommends: xen-utils-@version@
++Description: Xen Hypervisor on @class@
++ The hypervisor is the "core" for XEN itself. It gets booted by the boot loader
++ and controls cpu and memory, sharing them between your administrative domain
++ (Domain 0) and the virtual guest systems.
++ .
++ @desc@
++ .
++ In order to boot a XEN system along with this package you also need a kernel
++ specifically crafted to work as the Domain 0, mediating hardware access for
++ XEN itself.
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6c48a5d9b6a1fbad63e3c7111c1a1e9c7c77c6f0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,60 @@@
++Package: libxen-@version@
++Section: libs
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Multi-Arch: same
++Description: Public libs for Xen
++ This package contains the shared toolstack libraries for Xen.
++
++Package: libxenstore3.0
++Section: libs
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Multi-Arch: same
++Description: Xenstore communications library for Xen
++ This package contains the client library interface to XenStore.
++ .
++
++Package: libxen-dev
++Section: libdevel
++Depends: libxen-@version@ (= ${binary:Version}), libxenstore3.0 (= ${binary:Version}), ${misc:Depends}
++Description: Public headers and libs for Xen
++ This package contains the public headers and static libraries for Xen.
++ .
++ The libxenlight library is intended as a common base for all Xen toolstack
++ developers. The libxlutil library contains additional helpers which may be
++ useful to toolstack developers.
++ .
++ The libxenstore library allows userspace processes to interact with the
++ XenStore database. XenStore is a shared database used for interdomain
++ communication of configuration and status information. It is accessible to all
++ domains running on the same Xen host. See http://wiki.xen.org/wiki/XenStore
++ for more information.
++ .
++ The libxenctrl and libxenguest libraries are internal libraries intended for
++ use by the Xen toolstack and are not intended to be used directly. Toolstack
++ authors should use libxenlight.
++
++Package: xenstore-utils
++Section: admin
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Conflicts: xen-utils-common (<= 3.1.0-1)
++Replaces: xen-utils-common (<= 3.1.0-1)
++Description: Xenstore command line utilities for Xen
++ This package contains command line utilities for interacting with XenStore.
++ .
++ XenStore is a shared database used for interdomain communication of
++ configuration and status information. It is accessible to all domains running
++ on the same Xen host. See http://wiki.xen.org/wiki/XenStore for more information.
++ .
++ In the common case these tools are used by the Xen toolstack running in
++ domain0 (or a driver domain) however they may also be used in a guest domain
++ to support local scripting which wants to communicate via XenStore.
++
++Package: xen-utils-common
++Architecture: all
++Depends: lsb-base, python, udev, xenstore-utils, ${misc:Depends}
++Description: Xen administrative tools - common files
++ The userspace tools to manage a system virtualized through the Xen virtual
++ machine monitor.
++ .
++ This package is only required on the host system (Domain 0) and not on
++ the virtual guest systems (Domain U).
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c136ff1c456cfde583fbe412c70065d601cf3d8c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++Section: kernel
++Priority: optional
++Maintainer: Debian Xen Team <pkg-xen-devel@lists.alioth.debian.org>
++Uploaders: Guido Trotter <ultrotter@debian.org>, Bastian Blank <waldi@debian.org>
++Build-Depends:
++ autotools-dev,
++ debhelper (>> 9),
++ dpkg-dev (>= 1.16.0~),
++ lsb-release,
++ python-dev,
++ bcc [i386 amd64],
++ gcc-multilib [i386 amd64],
++ e2fslibs-dev,
++ iasl [i386 amd64],
++ seabios (>= 1.7.4-2~) [i386 amd64],
++ libaio-dev,
++ libfdt-dev [armhf arm64],
++ libglib2.0-dev,
++ liblzma-dev,
++ libncurses5-dev,
++ libpixman-1-dev,
++ libyajl-dev,
++ libssl-dev,
++ pkg-config,
++ uuid-dev,
++ zlib1g-dev,
++Standards-Version: 3.9.4
++XS-Python-Version: current
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..730002cc48ad2f70b8fb7ad7877007f2ad0858cd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++Package: xen-system@localversion@
++Depends: xen-hypervisor-@version@@localversion@, xen-utils-@version@, ${misc:Depends}
++Provides: xen-system
++Description: Xen System on @class@ (meta-package)
++ This package depends on the latest Xen hypervisor for use on @class@ and the Xen utils.
++ .
++ @desc@
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..71f7b350d0fb79c3710f8c06b68c09b9143eb947
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,9 @@@
++Package: xen-utils-@version@
++Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, xen-utils-common (>= ${source:Version})
++Recommends: bridge-utils, libc6-xen [i386], xen-hypervisor-@version@, qemu-system-x86, grub-xen-host [i386 amd64]
++Provides: xen-utils
++Built-Using: ${misc:Built-Using}
++Description: XEN administrative tools
++ The userspace tools to manage a system virtualized through the XEN virtual
++ machine monitor.
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1540842eec95501644c9d1c6b5cef926d8c093a3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++#!/bin/bash
++
++set -e
++
++case "$1" in
++    configure)
++        if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
++            update-grub || :
++        fi
++    ;;
++
++    abort-upgrade|abort-remove|abort-deconfigure)
++    ;;
++
++    *)
++      echo "postinst called with unknown argument \`$1'" >&2
++      exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4833411ab662ad303d32363ea1c9cb0357d14f33
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++#!/bin/bash
++
++set -e
++
++case "$1" in
++    remove)
++        if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
++            update-grub || :
++        fi
++    ;;
++
++    purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
++    ;;
++
++    *)
++        echo "postrm called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dabce13989bcfec4751678ca839dcb9db6441617
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++statically-linked-binary usr/lib/xen-@version@/boot/hvmloader
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..581327f09ffd06e97e2400b7a0e4802779881b2c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,24 @@@
++#!/bin/sh
++
++set -e
++
++case "$1" in
++    configure)
++        update-alternatives --remove xen-default /usr/lib/xen-@version@
++        if [ -x "/etc/init.d/xen" ]; then
++          invoke-rc.d xen start || exit $?
++        fi
++    ;;
++
++    abort-upgrade|abort-remove|abort-deconfigure)
++    ;;
++
++    *)
++      echo "postinst called with unknown argument \`$1'" >&2
++      exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1aa2cae65fda98638117ca7dc210ab38e30a798d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,24 @@@
++#!/bin/bash
++
++set -e
++
++case "$1" in
++    remove|upgrade)
++        update-alternatives --remove xen-default /usr/lib/xen-@version@
++        if [ -x "/etc/init.d/xen" ]; then
++            invoke-rc.d xen stop || exit $?
++        fi
++    ;;
++
++    deconfigure|failed-upgrade)
++    ;;
++
++    *)
++        echo "prerm called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..93a24fd31d870e5194d50b29bcbca7cd103f76e9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,306 @@@
++# -*- sh -*-
++
++#
++# Xend configuration file.
++#
++
++# This example configuration is appropriate for an installation that 
++# utilizes a bridged network configuration. Access to xend via http
++# is disabled.  
++
++# Commented out entries show the default for that entry, unless otherwise
++# specified.
++
++#(logfile /var/log/xen/xend.log)
++#(loglevel DEBUG)
++
++# Uncomment the line below.  Set the value to flask, acm, or dummy to 
++# select a security module.
++
++#(xsm_module_name dummy)
++
++# The Xen-API server configuration.
++#
++# This value configures the ports, interfaces, and access controls for the
++# Xen-API server.  Each entry in the list starts with either unix, a port
++# number, or an address:port pair.  If this is "unix", then a UDP socket is
++# opened, and this entry applies to that.  If it is a port, then Xend will
++# listen on all interfaces on that TCP port, and if it is an address:port
++# pair, then Xend will listen on the specified port, using the interface with
++# the specified address.
++#
++# The subsequent string configures the user-based access control for the
++# listener in question.  This can be one of "none" or "pam", indicating either
++# that users should be allowed access unconditionally, or that the local
++# Pluggable Authentication Modules configuration should be used.  If this
++# string is missing or empty, then "pam" is used.
++#
++# The final string gives the host-based access control for that listener. If
++# this is missing or empty, then all connections are accepted.  Otherwise,
++# this should be a space-separated sequence of regular expressions; any host
++# with a fully-qualified domain name or an IP address that matches one of
++# these regular expressions will be accepted.
++#
++# Example: listen on TCP port 9363 on all interfaces, accepting connections
++# only from machines in example.com or localhost, and allow access through
++# the unix domain socket unconditionally:
++#
++#   (xen-api-server ((9363 pam '^localhost$ example\\.com$')
++#                    (unix none)))
++#
++# Optionally, the TCP Xen-API server can use SSL by specifying the private
++# key and certificate location:
++#
++#                    (9367 pam '' xen-api.key xen-api.crt)
++#
++# Default:
++#   (xen-api-server ((unix)))
++
++
++#(xend-http-server no)
++#(xend-unix-server no)
++#(xend-tcp-xmlrpc-server no)
++#(xend-unix-xmlrpc-server yes)
++#(xend-relocation-server no)
++#(xend-relocation-ssl-server no)
++#(xend-udev-event-server no)
++
++#(xend-unix-path /var/lib/xend/xend-socket)
++
++
++# Address and port xend should use for the legacy TCP XMLRPC interface, 
++# if xend-tcp-xmlrpc-server is set.
++#(xend-tcp-xmlrpc-server-address 'localhost')
++#(xend-tcp-xmlrpc-server-port 8006)
++
++# SSL key and certificate to use for the legacy TCP XMLRPC interface.
++# Setting these will mean that this port serves only SSL connections as
++# opposed to plaintext ones.
++#(xend-tcp-xmlrpc-server-ssl-key-file  xmlrpc.key)
++#(xend-tcp-xmlrpc-server-ssl-cert-file xmlrpc.crt)
++
++
++# Port xend should use for the HTTP interface, if xend-http-server is set.
++#(xend-port            8000)
++
++# Port xend should use for the relocation interface, if xend-relocation-server
++# is set.
++#(xend-relocation-port 8002)
++
++# Port xend should use for the ssl relocation interface, if
++# xend-relocation-ssl-server is set.
++#(xend-relocation-ssl-port 8003)
++
++# SSL key and certificate to use for the ssl relocation interface, if
++# xend-relocation-ssl-server is set.
++#(xend-relocation-server-ssl-key-file   xmlrpc.key)
++#(xend-relocation-server-ssl-cert-file  xmlrpc.crt)
++
++# Whether to use ssl as default when relocating.
++#(xend-relocation-ssl no)
++
++# Address xend should listen on for HTTP connections, if xend-http-server is
++# set.
++# Specifying 'localhost' prevents remote connections.
++# Specifying the empty string '' (the default) allows all connections.
++#(xend-address '')
++#(xend-address localhost)
++
++# Address xend should listen on for relocation-socket connections, if
++# xend-relocation-server is set.
++# Meaning and default as for xend-address above.
++# Also, interface name is allowed (e.g. eth0) there to get the
++# relocation address to be bound on.
++#(xend-relocation-address '')
++
++# The hosts allowed to talk to the relocation port.  If this is empty (the
++# default), then all connections are allowed (assuming that the connection
++# arrives on a port and interface on which we are listening; see
++# xend-relocation-port and xend-relocation-address above).  Otherwise, this
++# should be a space-separated sequence of regular expressions.  Any host with
++# a fully-qualified domain name or an IP address that matches one of these
++# regular expressions will be accepted.
++#
++# For example:
++#  (xend-relocation-hosts-allow '^localhost$ ^.*\\.example\\.org$')
++#
++#(xend-relocation-hosts-allow '')
++
++# The limit (in kilobytes) on the size of the console buffer
++#(console-limit 1024)
++
++##
++# NOTE:
++# Please read /usr/share/doc/xen-utils-common/README.Debian for Debian specific
++# informations about the network setup.
++
++##
++# To bridge network traffic, like this:
++#
++# dom0: ----------------- bridge -> real eth0 -> the network
++#                            |
++# domU: fake eth0 -> vifN.0 -+
++#
++# use
++#
++# (network-script network-bridge)
++#
++# Your default ethernet device is used as the outgoing interface, by default. 
++# To use a different one (e.g. eth1) use
++#
++# (network-script 'network-bridge netdev=eth1')
++#
++# The bridge is named eth0, by default (yes, really!)
++#
++
++# It is normally much better to create the bridge yourself in
++# /etc/network/interfaces.  network-bridge start does nothing if you
++# already have a bridge, and network-bridge stop does nothing if the
++# default bridge name (normally eth0) is not a bridge.  See
++# bridge-utils-interfaces(5) for full information on the syntax in
++# /etc/network/interfaces, but you probably want something like this:
++#    iface xenbr0 inet static
++#        address [etc]
++#        netmask [etc]
++#        [etc]
++#        bridge_ports eth0
++#
++# To have network-bridge create a differently-named bridge, use:
++# (network-script 'network-bridge bridge=<name>')
++#
++# It is possible to use the network-bridge script in more complicated
++# scenarios, such as having two outgoing interfaces, with two bridges, and
++# two fake interfaces per guest domain.  To do things like this, write
++# yourself a wrapper script, and call network-bridge from it, as appropriate.
++#
++
++# The script used to control virtual interfaces.  This can be overridden on a
++# per-vif basis when creating a domain or a configuring a new vif.  The
++# vif-bridge script is designed for use with the network-bridge script, or
++# similar configurations.
++#
++# If you have overridden the bridge name using
++# (network-script 'network-bridge bridge=<name>') then you may wish to do the
++# same here.  The bridge name can also be set when creating a domain or
++# configuring a new vif, but a value specified here would act as a default.
++#
++# If you are using only one bridge, the vif-bridge script will discover that,
++# so there is no need to specify it explicitly.  The default is to use
++# the bridge which is listed first in the output from brctl.
++#
++(vif-script vif-bridge)
++
++
++## Use the following if network traffic is routed, as an alternative to the
++# settings for bridged networking given above.
++#(network-script network-route)
++#(vif-script     vif-route)
++
++
++## Use the following if network traffic is routed with NAT, as an alternative
++# to the settings for bridged networking given above.
++#(network-script network-nat)
++#(vif-script     vif-nat)
++
++# dom0-min-mem is the lowest permissible memory level (in MB) for dom0.
++# This is a minimum both for auto-ballooning (as enabled by
++# enable-dom0-ballooning below) and for xm mem-set when applied to dom0.
++(dom0-min-mem 196)
++
++# Whether to enable auto-ballooning of dom0 to allow domUs to be created.
++# If enable-dom0-ballooning = no, dom0 will never balloon out.
++(enable-dom0-ballooning yes)
++
++# 32-bit paravirtual domains can only consume physical
++# memory below 168GB. On systems with memory beyond that address,
++# they'll be confined to memory below 128GB.
++# Using total_available_memory (in GB) to specify the amount of memory reserved
++# in the memory pool exclusively for 32-bit paravirtual domains.
++# Additionally you should use dom0_mem = <-Value> as a parameter in 
++# xen kernel to reserve the memory for 32-bit paravirtual domains, default 
++# is "0" (0GB).  
++(total_available_memory 0) 
++
++# In SMP system, dom0 will use dom0-cpus # of CPUS
++# If dom0-cpus = 0, dom0 will take all cpus available
++(dom0-cpus 0)
++
++# Whether to enable core-dumps when domains crash.
++#(enable-dump no)
++
++# The tool used for initiating virtual TPM migration
++#(external-migration-tool '')
++
++# The interface for VNC servers to listen on. Defaults
++# to 127.0.0.1  To restore old 'listen everywhere' behaviour
++# set this to 0.0.0.0
++#(vnc-listen '127.0.0.1')
++
++# The default password for VNC console on HVM domain.
++# Empty string is no authentication.
++(vncpasswd '')
++
++# The VNC server can be told to negotiate a TLS session
++# to encryption all traffic, and provide x509 cert to
++# clients enabling them to verify server identity. The
++# GTK-VNC widget, virt-viewer, virt-manager and VeNCrypt
++# all support the VNC extension for TLS used in QEMU. The
++# TightVNC/RealVNC/UltraVNC clients do not.
++#
++# To enable this create x509 certificates / keys in the
++# directory ${XEN_CONFIG_DIR} + vnc
++#
++#  ca-cert.pem       - The CA certificate
++#  server-cert.pem   - The Server certificate signed by the CA
++#  server-key.pem    - The server private key
++#
++# and then uncomment this next line
++# (vnc-tls 1)
++
++# The certificate dir can be pointed elsewhere..
++#
++# (vnc-x509-cert-dir vnc)
++
++# The server can be told to request & validate an x509
++# certificate from the client. Only clients with a cert
++# signed by the trusted CA will be able to connect. This
++# is more secure the password auth alone. Passwd auth can
++# used at the same time if desired. To enable client cert
++# checking uncomment this:
++#
++# (vnc-x509-verify 1)
++
++# The default keymap to use for the VM's virtual keyboard
++# when not specififed in VM's configuration
++#(keymap 'en-us')
++
++# Script to run when the label of a resource has changed.
++#(resource-label-change-script '')
++
++# Rotation count of qemu-dm log file.
++#(qemu-dm-logrotate-count 10)
++
++# Path where persistent domain configuration is stored.
++# Default is /var/lib/xend/domains/
++#(xend-domains-path /var/lib/xend/domains)
++
++# Number of seconds xend will wait for device creation and
++# destruction
++#(device-create-timeout 100)
++#(device-destroy-timeout 100)
++
++# When assigning device to HVM guest, we use the strict check for HVM guest by
++# default. (For PV guest, we use loose check automatically if necessary.)
++# When we assign device to HVM guest, if we meet with the co-assignment
++# issues or the ACS issue, we could try changing the option to 'no' -- however,
++# we have to realize this may incur security issue and we can't make sure the
++# device assignment could really work properly even after we do this.
++#(pci-passthrough-strict-check yes)
++
++# If we have a very big scsi device configuration, start of xend is slow,
++# because xend scans all the device paths to build its internal PSCSI device
++# list.  If we need only a few devices for assigning to a guest, we can reduce
++# the scan to this device. Set list list of device paths in same syntax like in
++# command lsscsi, e.g. ('16:0:0:0' '15:0') 
++# (pscsi-device-mask ('*'))
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1a3fb90a04f8354c22cec016e3f39f5dcc82779f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,27 @@@
++###############################################################################
++# Configuration file for granting quiry PCI devices full write access to their 
++# configuration space.  This file should only be used when you are unable to 
++# determine the exact registers required by your device.  Even so, it should 
++# be used only temporarily.
++# 
++# SEND A MESSAGE TO xen-devel@lists.xensource.com IF YOU USE THIS FILE.
++# 
++# Using this file should NOT be necessary.  If you must use it to make some
++# device work, send a message to the above list with as much information about 
++# your device as possible so the developers can make accomodations for it.  
++# Once developers make the necessary updates you can remove the corresponding
++# entry for your device. 
++###############################################################################
++# Entries are formated as follows:  <vendor>:<device>[:<subvendor>:<subdevice>]
++# 
++# Example: Appending to an existing list
++#  
++# (unconstrained_dev_ids
++#     ('XXXX:XXXX:XXXX:XXXX'  # existing entry
++#      'YYYY:YYYY:YYYY:YYYY'  # new entry 1
++#      'ZZZZ:ZZZZ')           # new entry 2
++# )
++###############################################################################
++(unconstrained_dev_ids
++     #('0123:4567:89AB:CDEF')
++)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6bce4b8a78f917dd2da8ce427b2912b0efa9ff5a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,96 @@@
++###############################################################################
++# Configuration file for quirky PCI devices that require write-access to 
++# parts of the configuration space.  Use this file to specific PCI device
++# IDs and the configuration space fields to which those devices must be
++# able to write.
++#
++# Length is important, so be sure to match new entries with the 
++# lengths of comparable existing entries. 
++#
++# Additions to this file take effect as soon as a new domain with a 
++# matching device is started.  However, to remove a field that was 
++# previously applied to a device you must unbind the device from 
++# pciback.
++###############################################################################
++# This is a bogus entry to show how a new device would be added to the list
++#
++# (new_quirky_dev_name
++#    (pci_ids 
++#       ('0123:4567:890A:BCEF') 
++#    )
++#
++#    (pci_config_space_fields 
++#       ('12345678:1:00000000')
++#    )
++# )
++###############################################################################
++
++(tg3
++    (pci_ids
++      # Entries are formated as follows:  
++      #     <vendor>:<device>[:<subvendor>:<subdevice>]
++        ('14e4:1644'   # Broadcom Tigon3 5700
++       '14e4:1645'   # Broadcom Tigon3 5701
++         '14e4:1646'   # Broadcom Tigon3 5702
++         '14e4:1647'   # Broadcom Tigon3 5703
++         '14e4:1648'   # Broadcom Tigon3 5704
++         '14e4:164d'   # Broadcom Tigon3 5702FE
++         '14e4:1653'   # Broadcom Tigon3 5705
++         '14e4:1654'   # Broadcom Tigon3 5705_2
++         '14e4:165d'   # Broadcom Tigon3 5705M
++         '14e4:165e'   # Broadcom Tigon3 5705M_2
++         '14e4:16a6'   # Broadcom Tigon3 5702X
++         '14e4:16a7'   # Broadcom Tigon3 5703X
++         '14e4:16a8'   # Broadcom Tigon3 5704S
++         '14e4:16c6'   # Broadcom Tigon3 5702A3
++         '14e4:16c7'   # Broadcom Tigon3 5703A3
++         '14e4:1696'   # Broadcom Tigon3 5782
++         '14e4:169c'   # Broadcom Tigon3 5788
++         '14e4:169d'   # Broadcom Tigon3 5789
++         '14e4:170d'   # Broadcom Tigon3 5901
++         '14e4:1649'   # Broadcom Tigon3 5704S_2
++         '14e4:166e'   # Broadcom Tigon3 5705F
++         '14e4:1658'   # Broadcom Tigon3 5720
++         '14e4:1659'   # Broadcom Tigon3 5721
++         '14e4:1676'   # Broadcom Tigon3 5750
++         '14e4:1677'   # Broadcom Tigon3 5751
++         '14e4:167c'   # Broadcom Tigon3 5750M
++         '14e4:167d'   # Broadcom Tigon3 5751M
++         '14e4:167e'   # Broadcom Tigon3 5751F
++         '14e4:1600'   # Broadcom Tigon3 5752
++         '14e4:1601'   # Broadcom Tigon3 5752M
++         '14e4:16f7'   # Broadcom Tigon3 5753
++         '14e4:16fd'   # Broadcom Tigon3 5753M
++         '14e4:16fe'   # Broadcom Tigon3 5753F
++         '14e4:1668'   # Broadcom Tigon3 5714
++         '14e4:1678'   # Broadcom Tigon3 5715
++         '14e4:166a'   # Broadcom Tigon3 5780
++         '14e4:166b'   # Broadcom Tigon3 5780S
++         '14e4:16dd'   # Broadcom Tigon3 5781
++         '1148:4400'   # Syskonnect 9DXX
++         '1148:4500'   # Syskonnect 9MXX
++         '173b:03e8'   # Altima AC1000
++         '173b:03e9'   # Altima AC1001
++         '173b:03eb'   # Altima AC1003
++         '173b:03ea'   # Altima AC9100
++         '106b:1645')  # Apple Tigon3
++    )
++
++    (pci_config_space_fields
++      # Entries are formated as follows:  
++      #     <register>:<size>:<mask>
++      # size is measured in bytes (1,2,4 are valid sizes)
++      # mask is currently unused; use all zero's
++        ('00000078:4:00000000'   # TG3PCI_REG_BASE_ADDR
++         '0000007c:4:00000000'   # TG3PCI_MEM_WIN_BASE_ADDR
++         '00000080:4:00000000'   # TG3PCI_REG_DATA
++         '00000084:4:00000000'   # TG3PCI_MEM_WIN_DATA
++         '00000090:4:00000000'   # TG3PCI_MISC_LOCAL_CTRL
++         '00000068:4:00000000'   # TG3PCI_MISC_HOST_CTRL
++         '0000009C:4:00000000'   # TG3PCI_STD_RING_PROD_IDX + TG3_64BIT_REG_LOW
++         '00000098:4:00000000'   # TG3PCI_STD_RING_PROD_IDX + TG3_64BIT_REG_HIGH
++         '000000a4:4:00000000'   # TG3PCI_RCV_RET_RING_CON_IDX + TG3_64BIT_REG_LOW
++         '000000a0:4:00000000'   # TG3PCI_RCV_RET_RING_CON_IDX + TG3_64BIT_REG_HIGH
++         '00000070:4:00000000')  # TG3PCI_PCISTATE
++    )
++)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..65f5196cbdc31c6431e2f4ba94fa2323d54424fc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,7 @@@
++# Configuration for Xen system
++# ----------------------------
++
++# There exists several tool stacks to configure a Xen system.
++# …
++# Attention: You need to reboot after changing this!
++TOOLSTACK=
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1540842eec95501644c9d1c6b5cef926d8c093a3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++#!/bin/bash
++
++set -e
++
++case "$1" in
++    configure)
++        if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
++            update-grub || :
++        fi
++    ;;
++
++    abort-upgrade|abort-remove|abort-deconfigure)
++    ;;
++
++    *)
++      echo "postinst called with unknown argument \`$1'" >&2
++      exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4833411ab662ad303d32363ea1c9cb0357d14f33
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++#!/bin/bash
++
++set -e
++
++case "$1" in
++    remove)
++        if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
++            update-grub || :
++        fi
++    ;;
++
++    purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
++    ;;
++
++    *)
++        echo "postrm called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1540842eec95501644c9d1c6b5cef926d8c093a3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++#!/bin/bash
++
++set -e
++
++case "$1" in
++    configure)
++        if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
++            update-grub || :
++        fi
++    ;;
++
++    abort-upgrade|abort-remove|abort-deconfigure)
++    ;;
++
++    *)
++      echo "postinst called with unknown argument \`$1'" >&2
++      exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4833411ab662ad303d32363ea1c9cb0357d14f33
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++#!/bin/bash
++
++set -e
++
++case "$1" in
++    remove)
++        if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
++            update-grub || :
++        fi
++    ;;
++
++    purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
++    ;;
++
++    *)
++        echo "postrm called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1540842eec95501644c9d1c6b5cef926d8c093a3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++#!/bin/bash
++
++set -e
++
++case "$1" in
++    configure)
++        if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
++            update-grub || :
++        fi
++    ;;
++
++    abort-upgrade|abort-remove|abort-deconfigure)
++    ;;
++
++    *)
++      echo "postinst called with unknown argument \`$1'" >&2
++      exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4833411ab662ad303d32363ea1c9cb0357d14f33
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++#!/bin/bash
++
++set -e
++
++case "$1" in
++    remove)
++        if command -v update-grub > /dev/null && [ -d /boot/grub ]; then
++            update-grub || :
++        fi
++    ;;
++
++    purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
++    ;;
++
++    *)
++        echo "postrm called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f0db0958af3c6ddafba5b7f0f47a36325d153d82
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++statically-linked-binary usr/lib/xen-4.6/boot/hvmloader
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6103f943e4fa4fff67afe2203b749977b12be2a4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,24 @@@
++#!/bin/sh
++
++set -e
++
++case "$1" in
++    configure)
++        update-alternatives --remove xen-default /usr/lib/xen-4.6
++        if [ -x "/etc/init.d/xen" ]; then
++          invoke-rc.d xen start || exit $?
++        fi
++    ;;
++
++    abort-upgrade|abort-remove|abort-deconfigure)
++    ;;
++
++    *)
++      echo "postinst called with unknown argument \`$1'" >&2
++      exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1dc5e54dbd336b903fdcec28125d978d6135a477
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,24 @@@
++#!/bin/bash
++
++set -e
++
++case "$1" in
++    remove|upgrade)
++        update-alternatives --remove xen-default /usr/lib/xen-4.6
++        if [ -x "/etc/init.d/xen" ]; then
++            invoke-rc.d xen stop || exit $?
++        fi
++    ;;
++
++    deconfigure|failed-upgrade)
++    ;;
++
++    *)
++        echo "prerm called with unknown argument \`$1'" >&2
++        exit 1
++    ;;
++esac
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..873a9d3fc9efb5bd8f7e35463c189755d7e9d235
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,29 @@@
++Xen for Debian
++==============
++
++Config behaviour
++----------------
++
++The Debian packages changes the behaviour of some config options.
++
++The options "kernel", "initrd" and "loader" searches in the Xen private boot
++directory (/usr/lib/xen-$version/boot) first. "bootloader" and "device_model"
++also searches the Xen private bin directory (/usr/lib/xen-$version/bin). This
++means that the following entries will properly find anything:
++  loader = 'hvmloader'
++  bootloader = 'pygrub'
++
++Network setup
++-------------
++
++The Debian package of Xen don't change the network setup in any way.  This
++differs from the upstream version, which overwrites the main network card
++(eth0) with a bridge setup and may break the network at this point..
++
++To setup a bridge please follow the instructions in the manpage for
++bridge-utils-interfaces(5).
++
++You can also change the /etc/xen/xend-config.sxp file and re-enable the Xen
++included network setup by adding
++  (network-script network-bridge)
++to the file. But please note that this may or may not work.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c745c087a39316bbee7d3af92560dc4f4cae7d27
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++var/lib/xen
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..50cee551774d48d43a56b346dd08bc8a5cb56a9d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++debian/tmp/etc/xen/cpupool*
++debian/tmp/etc/xen/xm*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d919badd3a47b5bbeb301ef14ab6e1118a55285e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++etc/xen/scripts
++etc/xen/xl*
++usr/lib/xen-common
++usr/sbin
++../../tree/xen-utils-common/* /
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f719731affabf0a5830e3b8b5eb6fef6429163ff
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++#!/bin/sh
++
++set -e
++
++case "$1" in
++configure)
++      install -d -m 2750 -g adm /var/log/xen
++      ;;
++
++abort-upgrade|abort-remove|abort-deconfigure)
++      ;;
++
++*)
++      echo "postinst called with unknown argument \`$1'" >&2
++      exit 1
++      ;;
++esac
++
++dpkg-maintscript-helper mv_conffile /etc/init.d/xend /etc/init.d/xen 4.1.2-4~ -- "$@"
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..48b57ead0c95c2944f1eedefe36ce52a55029de2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++#!/bin/sh
++
++set -e
++
++case "$1" in
++purge)
++      rmdir --ignore-fail-on-non-empty /var/log/xen
++      ;;
++
++remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
++      ;;
++
++*)
++      echo "postrm called with unknown argument \`$1'" >&2
++      exit 
++      ;;
++esac
++
++dpkg-maintscript-helper mv_conffile /etc/init.d/xend /etc/init.d/xen 4.1.2-4~ -- "$@"
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5f9c729374e40c7a0ce9deead899b084ee96d0c7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,23 @@@
++#!/bin/sh
++
++set -e
++
++case "$1" in
++install|upgrade)
++      ;;
++
++abort-upgrade)
++      ;;
++
++*)
++        echo "preinst called with unknown argument \`$1'" >&2
++        exit 1
++      ;;
++esac
++
++dpkg-maintscript-helper mv_conffile /etc/init.d/xend /etc/init.d/xen 4.1.2-4~ -- "$@"
++update-rc.d -f xend remove >/dev/null
++
++#DEBHELPER#
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b32b91d1d92b9cb3ffd016cc7cca3a6132925748
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++/usr/share/xen-utils-common/default.xen /etc/default/xen
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fe5d6f3453a5dfc2799f4988cbe3fdc29855adf5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,292 @@@
++#!/bin/sh
++### BEGIN INIT INFO
++# Provides:          xen xend
++# Required-Start:    $syslog $remote_fs
++# Required-Stop:     $syslog $remote_fs
++# Default-Start:     2 3 4 5
++# Default-Stop:      0 1 6
++# Short-Description: Xen daemons
++# Description:       Xen daemons
++### END INIT INFO
++
++. /lib/init/vars.sh
++. /lib/lsb/init-functions
++
++# Default variables
++XENSTORED_DIR="/var/run/xenstored"
++
++[ -r /etc/default/xen ] && . /etc/default/xen
++[ -r /etc/default/xend ] && . /etc/default/xend
++
++PATH=/sbin:/bin:/usr/sbin:/usr/bin
++DESC="Xen daemons"
++
++ROOT=$(/usr/lib/xen-common/bin/xen-dir 2>/dev/null)
++if [ $? -ne 0 ]; then
++      log_warning_msg "Not running within Xen or no compatible utils"
++      exit 0
++fi
++TOOLSTACK=$(/usr/lib/xen-common/bin/xen-toolstack 2>/dev/null)
++if [ $? -ne 0 ]; then
++      log_warning_msg "No usable Xen toolstack selected"
++      exit 0
++fi
++
++[ -e "$ROOT"/bin/xend ] && XEND="$ROOT"/bin/xend
++XENCONSOLED="$ROOT"/bin/xenconsoled
++XENCONSOLED_PIDFILE="/var/run/xenconsoled.pid"
++XENSTORED="$ROOT"/bin/xenstored
++XENSTORED_PIDFILE="/var/run/xenstore.pid"
++
++modules_setup()
++{
++      modprobe xenfs 2>/dev/null
++      modprobe xen-evtchn 2>/dev/null
++      modprobe xen-gntdev 2>/dev/null
++}
++
++xenfs_setup()
++{
++      [ -e "/proc/xen/capabilities" ] && return 0
++      log_progress_msg "xenfs"
++      [ -d "/proc/xen" ] || return 1
++      mount -t xenfs xenfs /proc/xen || return 1
++      return 0
++}
++
++capability_check()
++{
++      [ -e "/proc/xen/capabilities" ] || return 1
++      grep -q "control_d" /proc/xen/capabilities || return 1
++      return 0
++}
++
++env_setup()
++{
++      [ -d /run/xen ] && return 0
++
++      mkdir -m 700 /run/xen
++}
++
++xend_start()
++{
++      if [ -z "$XEND" ] || [ "$(basename "$TOOLSTACK")" != xm ]; then
++              return 0
++      fi
++
++      log_progress_msg "xend"
++      xend_start_real
++      return $?
++}
++
++xend_stop()
++{
++      if [ -z "$XEND" ] || [ "$(basename "$TOOLSTACK")" != xm ]; then
++              return 0
++      fi
++
++      log_progress_msg "xend"
++      xend_stop_real
++      return $?
++}
++
++xend_restart()
++{
++      if [ -z "$XEND" ] || [ "$(basename "$TOOLSTACK")" != xm ]; then
++              return 0
++      fi
++
++      log_progress_msg "xend"
++      xend_stop_real
++      case "$?" in
++              0|1)
++              xend_start_real
++              case "$?" in
++                      0) ;;
++                      *) return 2 ;;
++              esac
++              ;;
++              *) return 2 ;;
++      esac
++      return 0
++}
++
++xend_start_real()
++{
++      $XEND status && return 1
++      $XEND start || return 2
++
++      i=0
++      while [ $i -lt 10 ]; do
++              $XEND status && return 0 || true
++              i=$(($i + 1))
++              sleep 1
++      done
++      return 2
++}
++
++xend_stop_real()
++{
++      log_progress_msg "xend"
++      $XEND status || return 0
++      $XEND stop || return 1
++}
++
++xenconsoled_start()
++{
++      log_progress_msg "xenconsoled"
++      xenconsoled_start_real
++      return $?
++}
++
++xenconsoled_stop()
++{
++      log_progress_msg "xenconsoled"
++      xenconsoled_stop_real
++      return $?
++}
++
++xenconsoled_restart()
++{
++      log_progress_msg "xenconsoled"
++      xenconsoled_stop_real
++      case "$?" in
++              0|1)
++              xenconsoled_start_real
++              case "$?" in
++                      0) ;;
++                      *) return 2 ;;
++              esac
++              ;;
++              *) return 2 ;;
++      esac
++      return 0
++}
++
++xenconsoled_start_real()
++{
++      start-stop-daemon --start --quiet --pidfile "$XENCONSOLED_PIDFILE" --exec "$XENCONSOLED" --test > /dev/null \
++              || return 1
++      start-stop-daemon --start --quiet --pidfile "$XENCONSOLED_PIDFILE" --exec "$XENCONSOLED" -- \
++              $XENCONSOLED_ARGS --pid-file="$XENCONSOLED_PIDFILE" \
++              || return 2
++}
++
++xenconsoled_stop_real()
++{
++      start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile "$XENCONSOLED_PIDFILE" --name xenconsoled
++      RETVAL="$?"
++      [ "$RETVAL" = 2 ] && return 2
++      start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec "$XENCONSOLED"
++      [ "$?" = 2 ] && return 2
++      rm -f $PIDFILE
++      return "$RETVAL"
++}
++
++xenstored_start()
++{
++      log_progress_msg "xenstored"
++      start-stop-daemon --start --quiet --pidfile "$XENSTORED_PIDFILE" --exec "$XENSTORED" --test > /dev/null \
++              || return 1
++      [ -d "$XENSTORED_DIR" ] || mkdir -p "$XENSTORED_DIR"
++      export XENSTORED_ROOTDIR="$XENSTORED_DIR"
++      start-stop-daemon --start --quiet --pidfile "$XENSTORED_PIDFILE" --exec "$XENSTORED" -- \
++              $XENSTORED_ARGS --pid-file="$XENSTORED_PIDFILE" \
++              || return 2
++}
++
++init_dom0()
++{
++      log_progress_msg "init-dom0"
++      if [ -e $ROOT/bin/xen-init-dom0 ] ; then
++          $ROOT/bin/xen-init-dom0 > /dev/null
++      else
++          xenstore-write "/local/domain/0/name" "Domain-0"
++          xenstore-write "/local/domain/0/domid" "0"
++      fi
++}
++
++case "$1" in
++  start)
++      log_daemon_msg "Starting $DESC"
++      modules_setup
++      xenfs_setup
++      case "$?" in
++              0) ;;
++              *) log_end_msg 1; exit ;;
++      esac
++      capability_check
++      case "$?" in
++              0) ;;
++              *) log_end_msg 255; exit ;;
++      esac
++      env_setup
++      xenstored_start
++      case "$?" in
++              0|1) ;;
++              *) log_end_msg 1; exit ;;
++      esac
++      xenconsoled_start
++      case "$?" in
++              0|1) ;;
++              *) log_end_msg 1; exit ;;
++      esac
++      xend_start
++      case "$?" in
++              0|1) ;;
++              *) log_end_msg 1; exit ;;
++      esac
++      init_dom0
++      case "$?" in
++              0|1) ;;
++              *) log_end_msg 1; exit ;;
++      esac
++      log_end_msg 0
++      ;;
++  stop)
++      capability_check
++      case "$?" in
++              0) ;;
++              *) exit ;;
++      esac
++      log_daemon_msg "Stopping $DESC"
++      ret=0
++      xend_stop
++      case "$?" in
++              0|1) ;;
++              *) ret=1 ;;
++      esac
++      xenconsoled_stop
++      case "$?" in
++              0|1) ;;
++              *) ret=1 ;;
++      esac
++      log_end_msg $ret
++      ;;
++  restart|force-reload)
++      capability_check
++      case "$?" in
++              0) ;;
++              *) exit ;;
++      esac
++      log_daemon_msg "Restarting $DESC"
++      ret=0
++      xend_restart
++      case "$?" in
++              0|1) ;;
++              *) ret=1 ;;
++      esac
++      xenconsoled_restart
++      case "$?" in
++              0|1) ;;
++              *) ret=1 ;;
++      esac
++      log_end_msg $ret
++      ;;
++  *)
++      echo "Usage: $0 {start|stop|restart|force-reload}" >&2
++      exit 3
++      ;;
++esac
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..589da356adafddb3c0a570a20702f77d04be599b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++XENCONSOLED_ARGS=
++XENSTORED_ARGS=
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..34aeb125026d292d53e3b8a65c9a235b24c5949a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,60 @@@
++# The xendomains script can send SysRq requests to domains on shutdown.
++# If you don't want to MIGRATE, SAVE, or SHUTDOWN, this may be a possibility
++# to do a quick and dirty shutdown ("s e i u o") or at least sync the disks
++# of the domains ("s").
++#
++# XENDOMAINS_SYSRQ=
++
++# Set this to a non-empty string if you want to migrate virtual machines
++# on shutdown. The string will be passed to the xm migrate DOMID command
++# as is: It should contain the target IP address of the physical machine
++# to migrate to and optionally parameters like --live. Leave empty if
++# you don't want to try virtual machine relocation on shutdown.
++# If migration succeeds, neither SAVE nor SHUTDOWN will be executed for
++# that domain.
++#
++# XENDOMAINS_MIGRATE=
++
++# Directory to save running domains to when the system (dom0) is
++# shut down. Will also be used to restore domains from if # XENDOMAINS_RESTORE
++# is set (see below). Leave empty to disable domain saving on shutdown 
++# (e.g. because you rather shut domains down).
++# If domain saving does succeed, SHUTDOWN will not be executed.
++#
++XENDOMAINS_SAVE=/var/lib/xen/save
++
++# This variable determines whether saved domains from XENDOMAINS_SAVE
++# will be restored on system startup. 
++#
++XENDOMAINS_RESTORE=true
++
++# This variable sets the directory where domains configurations
++# are stored that should be started on system startup automatically.
++# Leave empty if you don't want to start domains automatically
++# (or just don't place any xen domain config files in that dir).
++# Note that the script tries to be clever if both RESTORE and AUTO are 
++# set: It will first restore saved domains and then only start domains
++# in AUTO which are not running yet. 
++# Note that the name matching is somewhat fuzzy.
++#
++XENDOMAINS_AUTO=/etc/xen/auto
++
++# On xendomains stop, a number of xm commands (xm migrate, save, shutdown,
++# shutdown --all) may be executed. In the worst case, these commands may
++# stall forever, which will prevent a successful shutdown of the machine.
++# If this variable is non-zero, the script will set up a watchdog timer
++# for every of these xm commands and time it out after the number of seconds
++# specified by this variable.
++# Note that SHUTDOWN_ALL will not be called if no virtual machines or only
++# zombies are still running, so you don't need to enable this timeout just
++# for the zombie case.
++# The setting should be large enough to make sure that migrate/save/shutdown
++# can succeed. If you do live migrations, keep in mind that live migration
++# of a 1GB machine over Gigabit ethernet may actually take something like
++# 100s (assuming that live migration uses 10% of the network # bandwidth).
++# Depending on the virtual machine, a shutdown may also require a significant
++# amount of time. So better setup this variable to a huge number and hope the
++# watchdog never fires.
++#
++XENDOMAINS_STOP_MAXWAIT=300
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5fd5a5d46eb41750169f4bb9c28b118904e20e6d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,228 @@@
++#!/bin/bash
++### BEGIN INIT INFO
++# Provides:          xendomains
++# Required-Start:    $syslog $remote_fs xen
++# Required-Stop:     $syslog $remote_fs xen
++# Should-Start:      drbd iscsi openvswitch-switch
++# Should-Stop:       drbd iscsi openvswitch-switch
++# X-Start-Before:    corosync heartbeat
++# X-Stop-After:      corosync heartbeat
++# Default-Start:     2 3 4 5
++# Default-Stop:      0 1 6
++# Short-Description: Start/stop secondary xen domains
++# Description:       Start / stop domains automatically when domain 0 
++#                    boots / shuts down.
++### END INIT INFO
++
++. /lib/init/vars.sh
++. /lib/lsb/init-functions
++
++xen list &> /dev/null
++if test $? -ne 0
++then
++      exit 0;
++fi
++
++TOOLSTACK=$(/usr/lib/xen-common/bin/xen-toolstack 2>/dev/null)
++if [ $? -ne 0 ]; then
++        log_warning_msg "No usable Xen toolstack selected"
++        exit 0
++fi
++if [ "$(basename "$TOOLSTACK")" != xm ] && [ "$(basename "$TOOLSTACK")" != xl ]; then
++      exit 0
++fi
++
++if ! [ -e /proc/xen/privcmd ]; then
++      exit 0
++fi
++
++[ -r /etc/default/xendomains ] && . /etc/default/xendomains
++
++shopt -s nullglob
++
++check_config_name()
++{
++  /usr/lib/xen-common/bin/xen-init-name "$1" 2>/dev/null
++}
++
++check_running()
++{
++  xen domid "$1" > /dev/null 2>&1
++  return $?
++}
++
++timeout_coproc()
++{
++  local TIMEOUT=$1
++  shift
++
++  coproc "$@" 2>&1 1>/dev/null
++
++  local COPROC_OUT
++  exec {COPROC_OUT}<&"${COPROC[0]}"
++  local PID="$COPROC_PID"
++
++  for no in $(seq 0 $TIMEOUT); do
++    if [ -z "$COPROC_PID" ]; then break; fi
++    sleep 1
++    log_action_cont_msg
++  done
++
++  kill -INT "$COPROC_PID" >/dev/null 2>&1
++  wait $PID
++  local rc=$?
++  log_action_end_msg $rc
++
++  [ $rc -gt 0 ] && cat <&$COPROC_OUT
++  exec <&$COPROC_OUT-
++}
++
++timeout_domain()
++{
++  name="$1"
++  TIMEOUT="$2"
++  for no in $(seq 0 $TIMEOUT); do
++    if ! check_running "$name"; then return 0; fi
++    sleep 1
++    log_action_cont_msg
++  done
++  return 1
++}
++
++do_start_restore()
++{
++  [ -n "$XENDOMAINS_SAVE" ] || return
++  [ -d "$XENDOMAINS_SAVE" ] || return
++  [ -n "$XENDOMAINS_RESTORE" ] || return
++
++  for file in $XENDOMAINS_SAVE/*; do
++    if [ -f $file ] ; then
++      name="${file##*/}"
++      log_action_begin_msg "Restoring Xen domain $name (from $file)"
++
++      out=$(xen restore "$file" 2>&1 1>/dev/null)
++      case "$?" in
++        0) 
++          rm "$file"
++          domains[$name]='started'
++          log_action_end_msg 0
++          ;;
++        *) 
++          domains[$name]='failed'
++          log_action_end_msg 1
++          echo "$out"
++          ;;
++      esac
++    fi
++  done
++}
++
++do_start_auto()
++{
++  [ -n "$XENDOMAINS_AUTO" ] || return
++  [ -d "$XENDOMAINS_AUTO" ] || return
++
++  for file in $XENDOMAINS_AUTO/*; do
++    name="$(check_config_name $file)"
++
++    if [ "${domains[$name]}" = started ]; then
++      :
++    elif check_running "$name"; then
++      log_action_msg "Xen domain $name already running"
++    else
++      log_action_begin_msg "Starting Xen domain $name (from $file)"
++
++      if [ "${domains[$name]}" = failed ]; then
++        log_action_end_msg 1 "restore failed"
++      else
++        out=$(xen create --quiet --defconfig "$file" 2>&1 1>/dev/null)
++        case "$?" in
++          0) 
++            log_action_end_msg 0
++            ;;
++          *) 
++            log_action_end_msg 1
++            echo "$out"
++            ;;
++        esac
++      fi
++    fi
++  done
++}
++
++do_start() 
++{
++  declare -A domains
++
++  do_start_restore
++  do_start_auto
++}
++
++do_stop_migrate()
++{
++  [ -n "$XENDOMAINS_MIGRATE" ] || return
++
++  while read id name rest; do
++    log_action_begin_msg "Migrating Xen domain $name ($id)"
++    (timeout_coproc "$XENDOMAINS_STOP_MAXWAIT" xen migrate $id $XENDOMAINS_MIGRATE)
++  done < <(/usr/lib/xen-common/bin/xen-init-list)
++}
++
++do_stop_save()
++{
++  [ -n "$XENDOMAINS_SAVE" ] || return
++  [ -d "$XENDOMAINS_SAVE" ] || mkdir -m 0700 -p "$XENDOMAINS_SAVE"
++
++  while read id name rest; do
++    log_action_begin_msg "Saving Xen domain $name ($id)"
++    (timeout_coproc "$XENDOMAINS_STOP_MAXWAIT" xen save $id $XENDOMAINS_SAVE/$name)
++  done < <(/usr/lib/xen-common/bin/xen-init-list)
++}
++
++do_stop_shutdown()
++{
++  while read id name rest; do
++    log_action_begin_msg "Shutting down Xen domain $name ($id)"
++    xen shutdown $id 2>&1 1>/dev/null
++    log_action_end_msg $?
++  done < <(/usr/lib/xen-common/bin/xen-init-list)
++  while read id name rest; do
++    log_action_begin_msg "Waiting for Xen domain $name ($id) to shut down"
++    timeout_domain "$name" "$XENDOMAINS_STOP_MAXWAIT"
++    log_action_end_msg $?
++  done < <(/usr/lib/xen-common/bin/xen-init-list)
++}
++
++do_stop()
++{
++  do_stop_migrate
++  do_stop_save
++  do_stop_shutdown
++}
++
++case "$1" in
++  start)
++    do_start
++    ;;
++
++  stop)
++    do_stop
++    ;;
++
++  restart)
++    do_stop
++    do_start
++    ;;
++
++  reload|force-reload)
++    do_stop
++    do_start
++    ;;
++
++  *)
++    echo "Usage: $0 {start|stop|restart|reload|force-reload}"
++    exit 3
++    ;;
++esac
++
++exit 0
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..607c1643521565c498b0262d1d4c9b819104f898
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++xen-3.0 (3.4.0-1) UNRELEASED; urgency=low
++
++  This version does not longer ship the ioemu part, aka the patched qemu.
++  So it does not support
++  * full virtualized domains and
++  * virtual console support for paravirtualized domains.
++
++ -- Bastian Blank <waldi@debian.org>  Sat, 18 Jul 2009 15:05:31 +0200
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..33bc4546989b3bda3dcf0fada7260c697018e23d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,53 @@@
++Xen for Debian
++==============
++
++Config behaviour
++----------------
++
++The Debian packages changes the behaviour of some config options.
++
++The options "kernel", "initrd" and "loader" searches in the Xen private boot
++directory (/usr/lib/xen-$version/boot) first. "bootloader" and "device_model"
++also searches the Xen private bin directory (/usr/lib/xen-$version/bin). This
++means that the following entries will properly find anything:
++  loader = 'hvmloader'
++  bootloader = 'pygrub'
++
++Network setup
++-------------
++
++The Debian package of Xen don't change the network setup in any way.  This
++differs from the upstream version, which overwrites the main network card
++(eth0) with a bridge setup and may break the network at this point..
++
++To setup a bridge please follow the instructions in the manpage for
++bridge-utils-interfaces(5).
++
++You can also change the /etc/xen/xend-config.sxp file and re-enable the Xen
++included network setup by adding
++  (network-script network-bridge)
++to the file. But please note that this may or may not work.
++
++Loop devices
++------------
++
++If you plan hosting virtual domains with file backed block devices (ie. the
++ones xen-tools creates by default) be careful about two issues:
++
++1. Maximum number of loop devices
++   By default the loop driver supports a maximum of 8 loop devices. Of
++   course since every Xen domain uses at least two (one for the data and one
++   for the swap) this number is absolutely insufficient. You should increase
++   it by adding a file named local-loop in /etc/modprobe.d containing the
++   string "options loop max_loop=128", if the loop driver is compiled as a
++   module, or by appending the string max_loop=128 to your kernel parameters
++   if the driver is in-kernel. Of course you can increase or decrease the
++   number 128 as you see fit.
++
++2. Driver loading (only if loop is compiled as a module)
++   Normally the loop driver gets loaded when the first loop device is
++   accessed. When using udev, though, the loop devices get created only
++   after the driver gets loaded. This means that Xen will fail if the loop
++   driver is not already loaded when it tries to start a file-backed virtual
++   domain.  To fix this just add "loop" in your /etc/modules file, thus
++   forcing it to be loaded at boot time.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..199b491755c4dc79a1603de299583c4175f12360
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/bin/xenstore-*